【发布时间】:2016-02-19 23:03:34
【问题描述】:
我试图通过按顺序添加函数来组成一个情节。这个想法是在按下一个键后添加每个新行。在 Matlab 中很容易完成,但在 Python 中让我很头疼。
我的示例代码丢失:
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
#plt.ion()
plt.xlabel('time (s)')
plt.ylabel('voltage (mV)')
plt.title('About as simple as it gets, folks')
plt.grid(True)
#plt.show()
for n in [1,2,3,4,5,6]:
s = np.sin(2*np.pi*t-n*np.pi/3)
plt.plot(t, s)
#plt.show()
plt.draw()
raw_input('press a key')
此代码仅打印“按一个键”6 次。然而,当我注释掉 "raw_input('press a key')" 行时,该图形会立即绘制出来。
我试过 plt.ion(),没有帮助。另外,如果我使用 plt.show() 或 plt.draw() 也没有区别。
我被困在这里...我做错了什么?
有人可以建议一个(最好是简单的)解决方案吗?
【问题讨论】:
-
我使用的是 python 3,所以可能无法完美重现您的问题。我观察到的是,我需要
draw和show才能绘制图形。注释掉任何一个,什么都没有画出来。顺便说一句,n*pi/3、pi中的未定义。你的意思可能是np.pi。 -
是的,你是对的,这是一个错字,应该是“np.pi”(我会更正原帖。)。不过,在我的情况下,如果我使用“draw”、“show”或两者都用,这并不重要。结果总是一样的。打印六次“按键”消息,最后一次绘制整个画面。顺便说一句,我使用的是 Python 2.7.8。
标签: python matplotlib