您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Jupyter / iPython中动态更新图的当前正确方法是什么?

在Jupyter / iPython中动态更新图的当前正确方法是什么?

这是一个循环更新图的示例。它会更新图中的数据,并且不会每次都重新绘制整个图。它确实会阻止执行,但是,如果您有兴趣运行有限的一组模拟并将结果保存在某处,则对您来说可能不是问题。

%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)

我把它放在这里的nbviewer上。

一个IPython Widget版本nbagg,目前正在Matplotlib存储库中进行。如果可以的话,那可能是最好的使用方式nbagg

编辑:更新以显示多个图

python 2022/1/1 18:32:57 有214人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶