如何在Jupyter笔记本中的相同位置更新python循环中的matpplotlib lib图?

Fabien Tarrade博士

我正在使用python 3.6.7,matplotlib 2.2.2,ipython 7.0.1,notebook 5.6.0和jupyter 1.0.0。

我想创建显示在2行上的10个图,这些图在循环期间将保留在jupyter笔记本上的同一位置,并且新结果将在相同的10个图中每10次迭代显示一次。这里有一些伪代码仅供说明。

import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 5, sharex='col', sharey='row', figsize=(40,15))
ax = ax.flatten()
for i in range(TRAIN_STEPS):
    if i%10 == 0:
        for j in range(10):
            ax[j].set_title(j+i,fontsize=40)
            ax[j].axes.get_xaxis().set_visible(False)
            ax[j].axes.get_yaxis().set_visible(False)
            ax[j].imshow(weight[i]), cmap=plt.get_cmap('seismic'))
    if i%100 == 0:
         print('Step:' + str(i)) 

我使用i + j创建了标题,以更好地查看已更新的内容。在此示例中,图集仅显示在末尾(而不在循环中显示)。例子1

如果使用plt.show(),那么我只会看到第一组图例子2

我不想在每组上保存图并在以后做动画。知道我们是否可以做到以及如何做到?(我看了很多东西,但我错过了一些东西plt.ion() plt.show(block=False) plt.pause(1) time.sleep(0.1) f = plt.figure() f.canvas.update() f.canvas.flush_events() f.canvas.draw_idle()

Fabien Tarrade博士

似乎我可以通过添加以下方式来找到自己想要的方法:

display.clear_output(wait=True)
display.display(plt.gcf())
time.sleep(1.0) 

还有2个小问题:

  • 每个步骤的信息在每次迭代时都会删除,并且仅显示最后一个条目。
  • 在最后一次迭代之后,将显示10个图的集合两次。使用下面在另一个线程中找到的代码,可以很容易地重现它

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Jupyter Python笔记本中清除MatPlotLib图

Python和R:如何在Jupyter笔记本中使用Pyper显示图?

如何在Jupyter笔记本单元中制作大图,将其输出到html时可滚动

如何禁用Jupyter笔记本Matplotlib内联图?

如何在Jupyter笔记本采用IJava内核嵌入Tablesaw图?

如何在Jupyter笔记本上并排显示YouTube视频和matplotlib图?

如何在for循环中运行jupyter笔记本宏

如何在一个IPython笔记本中多次显示同一matplotlib图?

Jupyter笔记本中Matplotlib图的比例图大小

Jupyter笔记本中的Matplotlib动画会创建其他空图

在jupyter笔记本中显示scikit决策树图

需要帮助在Jupyter笔记本中创建高图直方图

如何使用Matplot lib和python绘制和保存单独的图

如何使用 matplot lib 调整 3D 条形图的条形宽度

如何使用 NREL 的 Floris lib 绘制带有侧边栏的图作为图例?

ggplot2:如何在保持条形图相同位置的同时更改点图的位置

Matplotlib图条形图堆积在x轴上不同位置的循环中

iPython笔记本;绘制过渡图

如何在R中的for循环中保存图

VSCODE JUPYTER - 如何在笔记本 (.ipynb) 中显示与 VSCode 中的 Python (.py) 相同的自动完成?

无法获得图/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:3:MatplotlibDeprecationWarning:

在Jupyter笔记本上进一步显示新的matplotlib图

Jupyter笔记本电池无法拉伸以适应多个图

如何在Jupyter笔记本中嵌入gif?

如何在Jupyter笔记本中包装代码/文本

如何在Jupyter笔记本中配置缩进大小?

如何在Jupyter笔记本中对熊猫使用tqdm?

如何在jupyter笔记本中安装sympy

如何在Pycharm笔记本中停止Jupyter Server