为了使用 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)