pyplot:将图形添加到现有绘图中

Jul*_*ich 5 python matplotlib

为了使用 python 的 matplotlib.pyplot 在一个图中绘制两个图,通常会这样做:

import matplotlib.pyplot as plt

xdata = [0, 1, 2, 3, 4]
ydata1 = [0, 1, 2, 3, 4]
ydata2 = [0, 0.5, 2, 4.5, 8]

plt.plot(xdata, ydata1, 'r-', xdata, ydata2, 'b--')
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,我只想在某些情况下绘制第二个数据集,如下所示:

plt.plot(xdata, ydata1, 'r-')

if DrawSecondDataset:
    plt.plot(data, ydata2, 'b--')
Run Code Online (Sandbox Code Playgroud)

不幸的是,plot第二次调用意味着第一个数据集被删除。

如何将图表添加到已有的绘图中?

编辑:

正如答案正确指出的那样,只有在plt.show()两者之间调用数据集才会被删除plt.plot()数据集才会被删除。因此,上面的示例实际上显示了两个数据集。

为了完整起见:是否可以选择将图形添加到plt.show()已调用的现有绘图中?例如

plt.plot(xdata, ydata1, 'r-')
plt.show()

...

plt.plot(data, ydata2, 'b--')
plt.show()
Run Code Online (Sandbox Code Playgroud)

nic*_*ame 2

show()最后打电话就可以了。