下面是一个在循环中更新绘图的例子。它更新图中的数据,不会每次都重绘整个图形。它阻止执行,虽然如果你有兴趣运行有限的模拟和保存结果在某个地方,这可能不是一个问题。
%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
import time
def pltsin(ax, colors=['b']):
x = np.linspace(0,1,100)
if ax.lines:
for line in ax.lines:
line.set_xdata(x)
y = np.random.random(size=(100,1))
line.set_ydata(y)
else:
for color in colors:
y = np.random.random(size=(100,1))
ax.plot(x, y, color)
fig.canvas.draw()
fig,ax = plt.subplots(1,1)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_xlim(0,1)
ax.set_ylim(0,1)
for f in range(5):
pltsin(ax, ['b', 'r'])
time.sleep(1)
编辑:更新以显示多个图
本文介绍了一个使用Python和Matplotlib库动态更新图表的例子。通过在循环中更新数据而非重绘整个图形来提高效率。展示了如何随机生成数据并实时更新图表。

1140

被折叠的 条评论
为什么被折叠?



