如何在matplotlib中叠加数字

How to superimpose figures in matplotlib

我在多个模块中创建了几个图形,我想将它们叠加到我的main.py

我可以 return 一个可用的 figure/plot 可以在 main.py 中重复使用来创建组合图吗?

谢谢!

解决方法是在main.py中设置一个figure/axis,然后将轴句柄传递给各个模块。作为一个最小的例子,

import matplotlib.pyplot as plt
import numpy as np
#from mod import plotsomefunction
#from diffrentmod import plotsomeotherfunction

def plotsomefunction(ax, x):

    return ax.plot(x, np.sin(x))

def plotsomeotherfunction(ax, x):

    return ax.plot(x,np.cos(x))


fig, ax = plt.subplots(1,1)
x = np.linspace(0,np.pi,1000)
l1 = plotsomefunction(ax, x)
l2 = plotsomeotherfunction(ax, x)
plt.show()

函数代表模块。

或者,您可以只在 main 中创建一个图形,然后使用 plt.sca 将其添加到每个模块中的当前轴。这似乎是一个不太可靠的解决方案。