如何在matplotlib中叠加数字

时间:2015-06-28 21:19:21

标签: matplotlib plot figure

我在多个模块中创建了几个数字,我想将它们添加到我的main.py中。

我可以返回一个可以在main.py中重复使用的可用数字/图表来创建合并数字吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

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