我将 IPython 笔记本与 matplotlib.pyplot 一起使用,并且我经常创建一个需要相当大的代码块来生成的绘图。然后我想保存该对象并使用完全相同的图形/轴对稍后合并到另一个图中。
例如,假设我有一些散点图的 x-y 数据对。我想显示点,然后显示几个单元格 - 可能与其他调用 pyplot 以制作其他不相关的数字 - 我想再次显示该数字,以便我可以用回归线或一些其他图形。
在下面附上的图片中,我有一个简短的笔记本;我希望将单元格#2 中的图形绘制在单元格#3 中,而无需再次调用 pyplot.scatter。
本质上,我想再次显示该图而不重复所有代码。我有什么选择这样做?我无法通过调用 show() 或 draw() 或将单元格中的当前图形对象设置为我保存的图形对象来完成此操作。欢迎任何建议。谢谢!
附言我知道如果我重用图形并在其上绘图,对象将会改变,因此 fig 对象的状态可能与之前 IPython 单元格中绘制的绘图不匹配。这对我的工作没问题。
Example IPython notebook
最佳答案
只需调用myFigure
在 myFigure
之后的任何单元格中之前被分配在单元格中。
例如在单元格 1 中:
In [1]:
myFigure, myAx = plt.subplots()
myAx.plot([1,2,3])
之后在单元格中:
In [2]:
myFigure
这将显示
myFigure
关于matplotlib - 如何在单个 IPython 笔记本中多次显示相同的 matplotlib 图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36265987/