创建一个子图并将其应用于多个图形,而不只是一个

时间:2019-05-23 14:39:05

标签: python matplotlib

例如,当我想在一个图形中创建多个子图时,可以执行以下操作

figA=plt.figure('figA',figsize=(30,25))
(ax2,ax1) = figA.subplots(2,1, gridspec_kw={'height_ratios':[1,15]})

然后我可以使用ax2.plot(data2)ax1.plot(data1)

进行绘图

然后,我可能要另外做一个图:

figB=plt.figure('figB',figsize=(30,25))
(ax2B,ax1B) = figB.subplots(2,1, gridspec_kw={'height_ratios':[1,15]})

但是,我需要与上图中完全相同的顶部面板。 如果我希望ax2B始终与ax2相同,无论对子图进行什么更改,该怎么办? 换句话说,我想定义一个子图并将其应用于多个图形,而不是在特定图形中定义它。

例如,如果在顶部面板中我想要一条直线f(x)=x,我会这样做

import numpy as np
X=np.linspace(0.,10.,10)
ax2.plot(X,X)
ax2B.plot(X,X)

但是我不想两次定义完全相同的情节。我只想一劳永逸地定义一个子图,然后在需要时在新图中调用它。

0 个答案:

没有答案