回顾了这个问题之后(我如何告诉Matplotlib创建第二个(新的)图,然后再在旧的图上进行图?),我认为我已经弄清楚了,但是我认为我的for循环遇到了问题。这是我正在做的事情的精简版。
import matplotlib.pyplot as plt
import numpy as np
for m in range(2):
x=np.arange(5)
y=np.exp(m*x)
plt.figure(1)
plt.plot(x, y)
plt.show()
...
z=np.sin(x+(m*math.pi))
plt.figure(2)
plt.plot(x,z)
...
plt.figure(2)
plt.show()
我希望这将显示三个图表:第一次绘制e ^(0)vs x的图表,第二次展示e ^ x vs x的图表,然后显示一个同时包含sin(x)和sin的图表(x + pi)与x。
但是取而代之的是,我得到了前两个图和一个仅包含sin(x)的图和一个仅包含sin(x + pi)的图。
如何获得我想要的所有数据到图2?当我回到循环的开始时,设置图重置似乎存在某种问题。
这个最小的更改可能会满足您的要求(尽管它不是最好的代码)。
替换plt.figure(1)
为plt.figure()
。plt.show()
从循环内部删除任何内容。
循环将结束,然后将显示所有3个数字。该e^x
曲线将在图#1和#3。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句