如何在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
将其添加到每个模块中的当前轴。这似乎是一个不太可靠的解决方案。
我在多个模块中创建了几个图形,我想将它们叠加到我的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
将其添加到每个模块中的当前轴。这似乎是一个不太可靠的解决方案。