相关疑难解决方法(0)

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

如何动态更新ipython笔记本(在一个单元格内)循环中的绘图的答案中,给出了如何在Python循环内动态更新Jupyter笔记本内部的绘图的示例.然而,这可以通过在每次迭代中销毁和重新创建绘图来实现,并且其中一个线程中的注释指出可以通过使用new-ish %matplotlib nbaggmagic 来改善这种情况,这提供了嵌入在笔记本中的交互式图形,而不是而不是静态图像.

然而,nbagg就我所知,这个奇妙的新功能似乎完全没有记录,我无法找到如何使用它来动态更新绘图的示例.因此,我的问题是,如何使用nbagg后端有效地更新Jupyter/Python笔记本中的现有绘图?由于在matplotlib中动态更新绘图通常是一个棘手的问题,一个简单的工作示例将是一个巨大的帮助.指向该主题的任何文档的指针也非常有用.

要清楚我要求的是:我想要做的是运行一些模拟代码进行几次迭代,然后绘制其当前状态的图,然后再运行几次迭代,然后更新图表以反映当前状态,等等.因此,我们的想法是绘制一个绘图,然后在没有任何用户交互的情况下更新绘图中的数据,而不会破坏和重新创建整个事物.

以下是对上述链接问题的答案的一些略微修改的代码,通过每次重新绘制整个数字来实现这一点.我希望获得相同的结果,但更有效地使用nbagg.

%matplotlib inline
import time
import pylab as pl
from IPython import display
for i in range(10):
    pl.clf()
    pl.plot(pl.randn(100))
    display.display(pl.gcf())
    display.clear_output(wait=True)
    time.sleep(1.0)
Run Code Online (Sandbox Code Playgroud)

python matplotlib jupyter jupyter-notebook

76
推荐指数
3
解决办法
4万
查看次数

标签 统计

jupyter ×1

jupyter-notebook ×1

matplotlib ×1

python ×1