我有一组点[index,minimum],我想一次分散一个点i(index [i],minimum [i]),这样我就可以看到该图的演变。 我想知道我该怎么做。我尝试了一个时间延迟,如:
plt.figure()
for i in range (np.size(index)):
plt.plot(index[i], minimum[i],'*')
plt.show()
time.sleep(1)
它不起作用。
提前致谢。
答案 0 :(得分:0)
可能看起来很愚蠢,但你导入了时间库吗?还有没有缩进,你的代码是真的那样还是复制/粘贴失败了?
编辑:在评论中回答,使用plt.pause(1),参见http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.pause
答案 1 :(得分:0)
答案 2 :(得分:0)
您必须使用nan数组绘制空值,然后在移动时更新数组。这是一个有效的例子:
import numpy as np
import matplotlib.pyplot as plt
import time
nbPoints = 100
nanArray = np.array(np.ones(nbPoints))
nanArray[:] = np.nan
index = range(nbPoints)
minimum = np.random.randint(5, size=nbPoints)
minimumPlotData = nanArray
fig = plt.figure()
ax = plt.subplot(111)
ax.set_xlim(0, nbPoints)
ax.set_ylim(min(minimum), max(minimum))
li, = ax.plot(index,minimumPlotData, marker = 'o', linestyle="")
fig.canvas.draw()
plt.show(block=False)
for i in range(nbPoints):
minimumPlotData[i]=minimum[i]
li.set_ydata(minimumPlotData)
fig.canvas.draw()
time.sleep(1)