【问题标题】:Inline figures in Spyder using multiple separate plt.plot在 Spyder 中使用多个单独的 plt.plot 内联图形
【发布时间】:2020-08-22 17:11:51
【问题描述】:

我发现 Spyder 4 中的图形查看器对于比较同类数据非常方便,比如说,如果分析的方式清晰,只是比较数据。尽管如此,为了尝试,真的很不舒服,Spyder 总是为 plt.plot 的每一行打开一个新图形。

我现在拥有的如下:

import numpy as np
def Gauss(beta0, x):
    return beta0[0] * np.exp(-(x - beta0[1])**2 / (2 * beta0[2]**2))+ beta0[3]

plt.figure() 
plt.plot(Gauss([0.25,50,1.5,0],np.arange(100)))
plt.plot(Gauss([0.25,50,3,0],np.arange(100)))
plt.plot(Gauss([0.25,50,5,0],np.arange(100))) 
plt.show()

运行它给了我一个包含 3 行数据的漂亮图

以防万一,我现在可能不知道要预先绘制什么数据,所以我想绘制一条线,查看数据,然后用另一条线“更新”图形,依此类推,代码行将是分开:

plt.figure()
Out[11]: <Figure size 1800x1200 with 0 Axes><Figure size 1800x1200 with 0 Axes>

plt.plot(Gauss([0.25,50,1.5,0],np.arange(100)))
Out[12]: [<matplotlib.lines.Line2D at 0x2218c6c06d8>]

plt.plot(Gauss([0.25,50,3,0],np.arange(100)))
Out[13]: [<matplotlib.lines.Line2D at 0x2218c3891d0>]

plt.plot(Gauss([0.25,50,5,0],np.arange(100)))
Out[14]: [<matplotlib.lines.Line2D at 0x2218ba1a438>]

plt.show()

然后我得到 3 个单独的数字,每个数字 1 行,尽管我没有明确打开一个新数字或关闭最后一个。

有没有办法阻止 Spyder 为 plt.plot 的每一行打开一个新图形,以提供如图 1 所示的输出?

谢谢你, 雷帕克

【问题讨论】:

    标签: python matplotlib plot spyder


    【解决方案1】:

    尝试添加:

    %matplotlib inline
    
    plt.figure(figsize=(10, 9))
    
    .### then your code here
    

    【讨论】:

    • 不幸的是,这不起作用。看来,如果我输入一行“plt.plot ...”,然后再输入另一行,在第一行之后,图形被关闭,并且每个单独的行或代码块都被放入另一个图形。
    猜你喜欢
    • 2015-06-04
    • 2017-02-22
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 2018-01-01
    • 2014-10-15
    相关资源
    最近更新 更多