使用带有 %matplotlib inline 的 ipython notebook 时如何保持当前图形?
How to keep the current figure when using ipython notebook with %matplotlib inline?
我找不到这个问题的答案,所以请让我在这里提问。
我想在使用 %matplotlib inline
时将当前数字保留在 ipython 笔记本中。这可能吗?
例如,我想在图表中绘制 2 条线
plt.plot([1,2,3,6],[4,2,3,4])
plt.plot([3.3, 4.4, 4.5, 6.5], [3., 5., 6., 7.])
如果我将这两个命令行放在一个单元格中就可以了。该图显示两条线。但是,如果我将它们分别放入两个单元格中,当第二个单元格 (plt.plot([3.3, 4.4, 4.5, 6.5], [3., 5., 6., 7.])) 被执行时,先前的情节 (plt.plot([1,2,3,6],[4,2,3,4])) 被清除。我想用第一个单元格的线绘制一个图,第二个单元格用两条线绘制一个图。
我查了 website
它通过
明确地清除了情节
plt.cla() # clear existing plot
但这有点令人困惑,因为无论如何它都会自动清除。
有没有像Matlab中的"hold on"一样不清除(或保留)之前的绘图的命令?
使用 ax.plot
而不是 plt.plot
以确保您两次都绘制到相同的轴上。使用 fig
(在第二个单元格中)显示绘图。
在单元格 1 中:
%matplotlib inline
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1,2,3,6],[4,2,3,4])
在单元格 2 中:
ax.plot([3.3, 4.4, 4.5, 6.5], [3., 5., 6., 7.])
fig
产量
我找不到这个问题的答案,所以请让我在这里提问。
我想在使用 %matplotlib inline
时将当前数字保留在 ipython 笔记本中。这可能吗?
例如,我想在图表中绘制 2 条线
plt.plot([1,2,3,6],[4,2,3,4])
plt.plot([3.3, 4.4, 4.5, 6.5], [3., 5., 6., 7.])
如果我将这两个命令行放在一个单元格中就可以了。该图显示两条线。但是,如果我将它们分别放入两个单元格中,当第二个单元格 (plt.plot([3.3, 4.4, 4.5, 6.5], [3., 5., 6., 7.])) 被执行时,先前的情节 (plt.plot([1,2,3,6],[4,2,3,4])) 被清除。我想用第一个单元格的线绘制一个图,第二个单元格用两条线绘制一个图。
我查了 website 它通过
明确地清除了情节plt.cla() # clear existing plot
但这有点令人困惑,因为无论如何它都会自动清除。
有没有像Matlab中的"hold on"一样不清除(或保留)之前的绘图的命令?
使用 ax.plot
而不是 plt.plot
以确保您两次都绘制到相同的轴上。使用 fig
(在第二个单元格中)显示绘图。
在单元格 1 中:
%matplotlib inline
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1,2,3,6],[4,2,3,4])
在单元格 2 中:
ax.plot([3.3, 4.4, 4.5, 6.5], [3., 5., 6., 7.])
fig
产量