此问题在此处已有答案:
Plots not visible when using a line plot(2个答案)
10天前关闭。
这是我的代码的简化版本。基本上,我想动态地绘制点,但我希望它像一个线图,而不是散点图。我不知道为什么这段代码工作:
from matplotlib import pyplot as plt
import numpy as np
for i in range(10):
x = i
y = np.random.randint(1,11)
plt.scatter(x,y)
plt.pause(0.05)
plt.show()
字符串
但是当我把plt.scatter(x,y)
改为plt.plot(x,y)
时,图形似乎试图绘制点(因为它明显在移动),但什么也没有显示出来。另一件可能有帮助的事情,我认为这可能与plt.pause(0.05)
的使用有关,那就是plt.plot(x, y, 'o-')
的结果与plt.scatter(x,y)
完全相似。
2条答案
按热度按时间y4ekin9u1#
要在matplotlib中制作动画,我建议使用
matplotlib.animation
包。在matplotlib官方主页或stackoverflow上可以找到很多例子。下面是我经常使用的一个简单例子:用途:字符串
wnvonmuf2#
plt.plot()没有显示任何内容的原因是你遗漏了语法的一部分--即使没有“pause”命令,它也不起作用。它应该是:
字符串
但是,为了动态更新并避免为循环中的每个步骤重新绘制单独的图,您需要正确更新图。请尝试使用此处的方法:
pylab.ion() in python 2, matplotlib 1.1.1 and updating of the plot while the program runs