PlotLegends 使 Manipulate[] ing 图形变得慢如爬行

2024-03-25

我设置了一个简短的程序,使用 Manipulate 显示具有不同参数的相同函数的三个图。我想用参数的值来标记每个函数。我的出发点是让一个传奇人物出现。在绘图中添加 PlotLegend 会导致 Mathematica 变得异常缓慢。

我的代码是:

Needs["PlotLegends`"]
Manipulate[

 UemaxOverUe = ((VA/Vphs)^2 (2 p - 1) + 1 - Ves0/Vphs - 2)/((VA/Vphs)^2 - (1 - Ves0/Vphs));

 UemaxOverUe2 = ((VA/Vphs)^2 (2 p - 1) + 1 - Ves02/Vphs - 2)/((VA/Vphs)^2 - (1 - Ves02/Vphs));

 UemaxOverUe3 = ((VA/Vphs)^2 (2 p - 1) + 1 - Ves03/Vphs - 2)/((VA/Vphs)^2 - (1 - Ves03/Vphs));

 ListPlot[{
  Table[{Vphs/VA, 1/UemaxOverUe}, {Vphs, .001 VA, VA, .01 VA}], 
  Table[{Vphs/VA, 1/UemaxOverUe2}, {Vphs, .001 VA, VA, .01 VA}], 
  Table[{Vphs/VA, 1/UemaxOverUe3}, {Vphs, .001 VA, VA, .01 VA}]}, 
  AxesLabel -> {"Vphs/VA", "Ne/NeMax"}, Joined -> True(*,
  PlotLegend->{"Blah","Blarg","Word"}*)],

 {{p, 1}, 0, 5},
 {{Ves0, -2 VA}, -10 VA, 10 VA, .1 VA},
 {{Ves02, -2 VA}, -10 VA, 10 VA, .1 VA},
 {{Ves03, -2 VA}, -10 VA, 10 VA, .1 VA}
]

取消注释PlotLegend应该重现问题。

我的问题是: 为什么会发生这种情况?
什么是好的解决方案或解决方法?


问题似乎是 PlotLegend 速度很慢。这没有任何关系Manipulate。在我的电脑上ListPlot没有图例时需要 0.013 秒,如果添加图例则需要 0.43 秒。

作为解决方法,您可以使用

ControlActive[{}, PlotLegend -> {"Blah", "Blarg", "Word"}]]

而不仅仅是PlotLegend仅当您不移动滑块时才显示图例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PlotLegends 使 Manipulate[] ing 图形变得慢如爬行 的相关文章

  • 如何用权重标记图边

    Warning 当 Mathematica v 8 0 是最酷的孩子时 我发布了这个问题 该bug已于9 0 1版本解决 The help for EdgeLabels http reference wolfram com mathemat
  • Mathematica 中的树数据结构

    我主要使用mathematica 作为数学工作台和编写相对较小的临时程序 然而 我正在设计一个系统 打算在 Mathematica 中编程 我需要将数据存储在树中 并搜索和遍历树 尽管我知道如何实现树 但我更喜欢标准的 经过测试的代码 我在
  • 在更高抽象级别上进行概率计算

    对于反对者 这不是一个关于数学的问题 这是一个 关于编程语言的问题数学 Mathematica 的主要特征之一是它可以象征性地处理许多事物 但仔细想想 很多象征性特征实际上只是半个象征性 以向量为例 我们可以有一个像 x y z 这样的符号
  • mathematica 如何确定在替换中首先使用哪个规则

    我想知道如果给定多个替换规则 mma 如何确定在发生碰撞时首先应用哪个规则 一个例子是 x 3 x 2 s x 3 s 2 s x x gt 0 x OddQ gt 2 Thanks Mathematica 有一种机制能够在简单情况下确定规
  • 在 Mathematica 中绘制数轴

    我想在 Mathematica 的数轴上绘制一个简单的区间 我该怎么做呢 为了绘制开区间或闭区间 你可以这样做 intPlot ss s e ee Graphics Red Thickness 01 Text Style ss Large
  • 如何使用 Mathematica 查找 Waldo?

    这周末困扰着我 有什么好方法来解决这些问题沃尔多在哪里 https en wikipedia org wiki Where 27s Wally 3F Wally 北美以外 谜题 使用 Mathematica 图像处理和其他功能 这是我到目前
  • 可以使用其他编程语言(python/C#)中的 Mathematica 吗?

    是否可以使用其他语言的 Mathematica 计算能力 我需要执行一些复杂的操作 顺便说一句 不一定是符号操作 如果能够直接从我的 python c 程序调用 Mathematica 的函数或运行 Mathematica 的代码 那就太好
  • Mathematica 中的语法着色

    用户定义的函数符号如f in f x 2 x 或变量符号 例如lotto in lotto Table 2 10 自动着色 在 M8 上的语法着色中 没有为此提供选项 仅限未分配值的局部变量或全局符号 这并不完全是您所要求的 但可能对您有用
  • 用于出版质量图的 Python Pylab pcolor 选项

    我正在尝试使用 DFT 离散傅立叶变换 图pcolor在Python中 我之前一直使用 Mathematica 8 0 来执行此操作 但我发现 Mathematica 8 0 中的颜色条与我尝试表示的数据具有不良的一对一相关性 例如 这是我
  • $多个变量的假设

    我想将整个笔记本的变量限制在特定范围内 有没有一种方法可以一次性做到这一点 而无需为每个变量输入不同的 asstitution 行 编辑 我想定义笔记本中所有计算的变量域 谷歌搜索帮助我更好地构建我的需求 全局定义如下 Assumption
  • 在 MathLink 函数中检查中止?

    我刚刚发现这样的MathLink功能为LinkWrite and LinkRead有类似其内部的东西CheckAbort吸收任何中止 并且不会进一步传播它们 这可以很容易地显示为LinkRead link LinkLaunch First
  • 为什么即使仅使用一种规则和一种表达式,Replace 和 ReplaceAll 也会给出不同的结果?

    也许有人可以向我解释为什么Replace给出了不同的答案ReplaceAll 即使我使用一条规则 并且我认为我有一种表达方式 根据文档 ReplaceAll looks at each part of expr tries all the
  • 解决电力塔

    a 2 Power 10 6 10 9 3 Power 4 9 7 5 TwoTower n Nest 2 1 n 最小的是什么n这样TwoTower n gt a This question http www quora com How
  • 如何以编程方式访问 Mathematica 8 中有关“Graph”对象的信息?

    我正在尝试访问某个范围内的信息GraphMathematica 8 中的对象 出于某种原因 Part命令似乎不起作用 myGraph是我想要访问的对象 下面的第一行显示 myGraph 其他人的作用是检查它 myGraph myGraph
  • 如何在数学中为给定旋转轴的 3D 绘图制作动画

    如果给定标准化旋转轴 例如 1 Sqrt 3 1 Sqrt 3 1 Sqrt 3 和 3d 图 例如 z x y Exp Sqrt x 2 y 2 Power 4 3 1 Power 4 3 1 Sqrt 1 2 Sqrt x 2 y 2
  • 下标变量

    有没有什么方法可以强制 Mathematica 独立于无下标变量来处理下标变量 进一步来说 比如说 我有以下定义 Subscript b 1 1 2 Subscript b 2 3 4 b Join Subscript b 1 Subscr
  • 可以在 Mathematica 中扩展 PDF、CDF、FindDistributionParameters 等功能吗?

    我开始使用新的 Mathematica 统计和数据分析功能进行越来越多的工作 我周二参加了 Mathematica 统计与数据分析 在线研讨会 非常棒的演讲 我强烈推荐 但我遇到了一些问题 我希望这个论坛上的人可以花点时间考虑一下 我创建了
  • Mathematica 的模式匹配优化不佳?

    我最近询问了为什么PatternTest引起了大量不必要的评估 PatternTest 未优化 https stackoverflow com questions 8484299 patterntest not optimized列昂尼德回
  • 如何导出 ContourPlot3D 曲面并在 Excel、Originlab 或其他类似软件中重新生成

    我尝试过这个 但失败了 fig3D ContourPlot3D x 2 y 3 z 2 0 x 2 2 y 2 2 z 2 2 PlotPoints gt 100 pts InputForm fig3D 1 1 1 ListSurfaceP
  • 根据 Mathematica 中的另一个列表值拆分列表

    在 Mathematica 中我有一个点坐标列表 size 50 points Table RandomInteger 0 size RandomInteger 0 size i 1 n 以及这些点所属的聚类索引列表 clusterIndi

随机推荐