如何在同一窗口绘制来自不同函数的两个子图?
出于某些特定的原因,我有两个函数,每个函数都会在两个不同的窗口中创建一个图表。有没有办法把这两个图表合并到一个窗口里,而不把这两个函数合并在一起呢?谢谢!
补充说明:我有两个相关的函数和一个数据库:第一个函数在file1.py中,绘制一个二维线图:
plt.figure("TEST12")
ax=plt.subplot(111)
ax.plot(array[:,10])
在file2.py中是我的另一个函数,它绘制一个填充的轮廓图:
plt.figure("TEST13")
ax = plt.subplot(111)
ax.contourf(x,y,data)
plt.gca().set_aspect('equal')
如果我像往常一样使用plt.show
,结果会是两个不同的窗口。
1 个回答
6
把你的函数改一下,让它可以接收一个Axes
对象作为参数,这样就可以在这个对象上进行绘图了:
def fun1(ax):
ax.plot(range(5))
def fun2(ax):
ax.plot(range(5)[::-1])
fig, ax = plt.subplots(1, 1)
fun1(ax)
fun2(ax)
plt.draw()