【问题标题】:How to keep the current figure when using ipython notebook with %matplotlib inline?使用带有 %matplotlib inline 的 ipython notebook 时如何保持当前图形?
【发布时间】:2015-07-15 21:14:17
【问题描述】:

我找不到答案,所以请让我在这里问。

我想在使用%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.])) 执行时,前一个plot(plt.plot([1,2,3,6],[4,2,3,4])) 被清除。我想为第一个单元格绘制一个带有线条的图形,并为第二个单元格绘制一个带有两条线条的图形。

我查了website 它通过

明确清除情节
plt.cla()  # clear existing plot

但它有点令人困惑,因为它无论如何都会自动清除。

是否有任何命令可以不清除(或保留)先前的情节,如 Matlab 中的“等待”?

【问题讨论】:

    标签: python matplotlib ipython-notebook


    【解决方案1】:

    使用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 
    

    产量

    【讨论】:

      猜你喜欢
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      • 2016-10-18
      • 2012-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多