Python 将新绘图添加到现有地物

Python 将新绘图添加到现有地物,python,matplotlib,plot,Python,Matplotlib,Plot,我有一个带有一些绘图的脚本(参见示例代码)。在做了一些其他事情之后,我想在现有的绘图上添加一个新的绘图。但当我尝试这样做时,它会根据最后创建的图形(现在是图2)添加绘图。 我不知道该怎么改变 import matplotlib.pylab as plt import numpy as np n = 10 x1 = np.arange(n) y1 = np.arange(n) fig1 = plt.figure() ax1 = fig1.add_subplot(111) ax1.plo

我有一个带有一些绘图的脚本(参见示例代码)。在做了一些其他事情之后,我想在现有的绘图上添加一个新的绘图。但当我尝试这样做时,它会根据最后创建的图形(现在是图2)添加绘图。 我不知道该怎么改变

import matplotlib.pylab as plt
import numpy as np

n = 10
x1 = np.arange(n)
y1 = np.arange(n)    

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)
ax1.plot(x1,y1)
fig1.show()

x2 = np.arange(10)
y2 = n/x2

# add new data and create new figure
fig2 = plt.figure()
ax2 = fig2.add_subplot(111)
ax2.plot(x2,y2)
fig2.show()

# do something with data to compare with new data
y1_geq = y1 >= y2
y1_a = y1**2
ax1.plot(y1_geq.nonzero()[0],y1[y1_geq],'ro')
fig1.canvas.draw

由于您的代码无法正常运行,因此我将提供一个示例代码段,说明如何在同一个图形/图表中绘制多个数据:

import matplotlib.pyplot as plt

xvals = [i for i in range(0, 10)]
yvals1 = [i**2 for i in range(0, 10)]
yvals2 = [i**3 for i in range(0, 10)]

f, ax = plt.subplots(1)
ax.plot(xvals, yvals1)
ax.plot(xvals, yvals2)

因此,基本思想是为需要打印到同一个绘图中的所有数据集调用
ax.plot()

我的脚本没有错误。。。我的问题没有答案。我还有第二个图形,我仍然无法在第一个图形上添加新的绘图。这是不正确的。例如,
x1
y2
在您的代码段中未定义。您需要根据需要调整我的示例。这不仅仅是复制和粘贴,更可能是一种在同一绘图中绘制不同数据的通用方法。因此,我的代码示例是独立的。除此之外,如和中所述,提供可运行代码肯定是您的任务。此外,如果您正在寻找实时绘图(例如传感器),您可以找到以下示例:基本思想是保留数据列表并使用matplotlib.animation模块。