如何在raw_input之后重绘python图

时间:2016-02-19 23:03:34

标签: python matplotlib

我正在尝试通过顺序添加功能来构图。我们的想法是在按下一个键后添加每一个新行。在Matlab中可以轻松完成,但在Python中给我带来了很多麻烦。

我的示例代码loos:

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('按一个键')”行时,这个数字会立即被绘制出来。

我试过plt.ion(),没有帮助。另外,如果我使用plt.show()或plt.draw(),则没有区别。

我被困在这里......我做错了什么?

有人可以建议一个(最好是简单的)解决方案吗?

1 个答案:

答案 0 :(得分:0)

尝试增加时间,它应该有效。

import time
import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 2.0, 0.01)

plt.xlabel('time (s)')
plt.ylabel('voltage (mV)')
plt.title('About as simple as it gets, folks')
plt.grid(True)
plt.ion()
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.draw()
    time.sleep(0.05)
    raw_input('press a key')