Wolfram mathematica 绘制图例会使绘制图形的速度减慢到爬行速度
我设置了一个简短的程序,用Operate显示同一函数的三个不同参数的曲线图。我想用参数的值来标记每个函数。我的出发点是让一个传奇人物出现。向绘图中添加绘图图例会导致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 =
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
作为替代方案。谢谢,舍尔德。添加情节图例的速度太慢了!