Wolfram mathematica 绘制图例会使绘制图形的速度减慢到爬行速度

Wolfram mathematica 绘制图例会使绘制图形的速度减慢到爬行速度,wolfram-mathematica,Wolfram Mathematica,我设置了一个简短的程序,用Operate显示同一函数的三个不同参数的曲线图。我想用参数的值来标记每个函数。我的出发点是让一个传奇人物出现。向绘图中添加绘图图例会导致Mathematica变得异常缓慢 我的代码是: Needs["PlotLegends`"] Manipulate[ UemaxOverUe = ((VA/Vphs)^2 (2 p - 1) + 1 - Ves0/Vphs - 2)/((VA/Vphs)^2 - (1 - Ves0/Vphs)); UemaxOverUe2 =

我设置了一个简短的程序,用Operate显示同一函数的三个不同参数的曲线图。我想用参数的值来标记每个函数。我的出发点是让一个传奇人物出现。向绘图中添加绘图图例会导致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速度太慢。它与
操纵
没有任何关系。在我的电脑上,
ListPlot
不带图例需要0.013秒,添加图例需要0.43秒

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

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

如果您知道有三个系列要打印,
PlotLegend
,那么除了Sjoerd的答案之外,您还可以将图例重建为一个
Epilog
。是的,
PlotLegend
速度慢得离谱。条形图函数相对于线图函数也是如此。这就是为什么我建议将
Epilog
作为替代方案。谢谢,舍尔德。添加情节图例的速度太慢了!