合并两个matplotlib图。图或者轴。轴对象放入新的

2024-06-12 08:53:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个外部函数,它返回一个Figure对象,在这种情况下,每个Figure对象都由一个axis对象组成。 我想用这两个图形组成一个新图形(比如水平连接)。在

所以理想情况下,我想说:

fig1, fig2, joined = CreateFig( data1 ), CreateFig( data2 ), Figure()
subp1, subp2 = joined.add_subplot( 121 ), joined.add_subplot( 122 )
subp1, subp2 = fig1.get_axes()[0], fig2.get_axes()[0]
joinedFig.savefig( 'joined.eps' )

显然,这不起作用,因为检索到的轴属于图1和图2,而不是joinedFig。 轴也不能仅仅由复制.deepcopy(). 在

在我的例子中,我指的是图()实例化。但一次搜查确实让我看到了这一点pyplot.figure公司()是开发团队推荐的实例化技术,它并没有改变问题:有没有任何方法可以通过复制轴的组合来进行轴/图形复制构造和图形构造?在


Tags: 对象add图形get情况figureaxessubplot
1条回答
网友
1楼 · 发布于 2024-06-12 08:53:26

你能修改CreateFig吗?如果是这样,有一个简单的解决方案:首先创建所需的图形和轴,然后将轴传递给CreateFig,并让CreateFig操作axes对象:

import matplotlib.pyplot as plt
import numpy as np

def CreateFig(data, ax):
    ax.plot(data)

fig, axs = plt.subplots(1, 2)
data = np.sin(np.linspace(0,2*np.pi,100))
CreateFig(data, axs[0])
data = np.linspace(-2,2,100)**2
CreateFig(data, axs[1])
plt.show()

enter image description here

相关问题 更多 >