如何叠加来自不同细胞的图?

JLa*_*ana 3 python matplotlib jupyter-notebook

在我笔记本中的一个单元格中,我已经绘制了一些东西

myplot = plt.figure() plt.plot(x,y)

现在,在一个不同的单元格中,我想再次绘制完全相同的数字,但在它上面添加新的图(类似于连续两次调用时发生的情况plt.plot()).我尝试的是在新单元格中添加以下内容:

myplot plt.plot(xnew,ynew)

然而,我在新单元格中获得的唯一内容是新的情节,没有前一个情节.

怎么能实现这个目标?

Imp*_*est 6

基本上有两种方法可以解决这个问题.

A.面向对象的方法

使用面向对象的方法,即保持图形和/或轴的句柄,并在后面的单元格中重用它们.

import matplotlib.pyplot as plt
%matplotlib inline

fig, ax=plt.subplots()
ax.plot([1,2,3])
Run Code Online (Sandbox Code Playgroud)

然后在后面的单元格中,

ax.plot([4,5,6])
Run Code Online (Sandbox Code Playgroud)

建议阅读:

B.在pyplot中保持数字

另一种选择是告诉matplotlib内联后端在单元格的末尾保持数字打开.

import matplotlib.pyplot as plt
%matplotlib inline

%config InlineBackend.close_figures=False # keep figures open in pyplot

plt.plot([1,2,3])
Run Code Online (Sandbox Code Playgroud)

然后在后面的单元格中

plt.plot([4,5,6])
Run Code Online (Sandbox Code Playgroud)

建议阅读: