【发布时间】:2017-05-15 08:12:06
【问题描述】:
我正在学习 Matplotlib 并使用 Jupyter 笔记本来跟踪我学到的每一件事。但是,我遇到了一个问题,因为我有多个带有matplotlib 代码的单元格。在我的第一个单元格中,我运行plt.show(),它会在单元格下方输出一个绘图。在页面的下方,我还有一些其他代码可以绘制新点、调整轴大小等,然后运行plt.show()....它可以工作,但会将更改应用于在第一个单元格之后创建的原始图。
有什么方法可以在我正在运行的单元格下方显示一个新的绘图窗口?
(我想这样做的原因:第一个单元格可能是一个示例,展示了如何绘制一组基本点。我希望它显示它自己的简单图。在页面的下方,我调整轴大小并更改图形的样式。但是,当这个情节,我想看到一个单独的情节,或者可能重做相同的情节(如,它可以保留我绘制的原始点 - 不需要清除整个事情)但是使用新的变化,在这个更复杂的单元格下方。)
更新:图片。
在图 1 中,我运行了第一个代码单元。图表显示在单元格下方。正如我所愿。
在第二张图片中,我现在运行了较低的代码块(标记为[3])。但是,这些更改将应用于位于其上方的地块,因为那是它最初创建的地方。但我想要一个新的情节,或者可能不是一个干净的新情节,但至少有某种方法可以使该情节显示在我刚刚运行的单元格[3] 下方。
【问题讨论】:
-
成功了!有趣的。我最初是
%matplotlib notebook因为它允许交互。但是,似乎交互性会产生这种行为,因为原始图仍然可以更新。因此,与其在每个代码块下创建一个新图,不如简单地更新原始图。我能够使用您的解决方案或使用%matplotlib notebook,通过添加plt.ioff()行使其工作。不过,希望有一种方法可以与新情节进行互动。有什么方法可以强制一个新的情节? -
你太棒了。成功了,谢谢!
-
你想直接回答,以便我标记这个吗?
标签: python matplotlib jupyter-notebook