如何在matplotlib中叠加图形



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

我是否可以返回一个可用的图形/绘图,该图形/绘图可以在main.py中重复使用以创建组合图形?

谢谢!

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

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将其添加到每个模块的当前轴上。这似乎是一个不那么健壮的解决方案。

最新更新