IPython:如何在不同的单元格中显示相同的情节?

问题描述 投票:5回答:2

我仍然是IPython笔记本,Jupyter和Python的新手。

我正在使用以下代码在Jupyter笔记本中创建散点图:

import numpy as np
import matplotlib.pyplot as plt

n = 1024
X = np.random.normal(0, 1, n)
Y = np.random.normal(0, 1, n)
plt.axes([0.025, 0.025, 0.95, 0.95])
plt.scatter(X, Y, s=50)

plt.show()

我的问题是,我怎样才能获得对绘图对象的引用,以便以后可以在笔记本中的不同单元格中使用它?此外,我可能需要在再次显示之前修改绘图。

另外,我的笔记本顶部有%matplotlib inline

以下是有关我的环境的一些信息:

  • Python:3.5.2 64位[MSC v.1900 64位(AMD64)]
  • IPython:4.2.0
  • numpy:1.11.1
  • scipy:0.17.1
  • matplotlib:1.5.1
  • 同情:1.0
  • 操作系统:Windows 7 6.1.7601 SP1
python matplotlib ipython-notebook jupyter-notebook
2个回答
2
投票

我找到了解决方案!基本上你用fig, ax = plt.subplots()创建一个数字和轴,然后使用ax变量绘制(可能在多个单元格中)。在您要重新绘制图形的任何单元格中,只需将fig写为单元格的最后一行,从而使单元格使用更新的图形作为输出。 有关详细信息,请参阅我的回答here


-1
投票

尝试使用matplotlib的面向对象接口 - matplotlib.figure;您可以根据需要使用创建的Figure对象的引用。

  • 创建一个图形对象 - fig = plt.figure()
  • 添加轴 - ax = fig.add_axes([0.025, 0.025, 0.95, 0.95])
  • 在创建的轴上绘制 - ax.plot(X, Y)
© www.soinside.com 2019 - 2024. All rights reserved.