首页 > 解决方案 > x 轴框架大小完全相同的两个图形

问题描述

我需要制作两个单独的图形,然后将它们粘贴在一起,使它们共享 x 轴。我不希望它们重叠,一个必须在顶部,另一个在底部,但 x 轴相同。我尝试通过设置相同figsize,然后使用控制边距来做到这一点plt.subplots_adjust(),例如

import matplotlib.pyplot as plt
fig1=plt.figure('fig1',figsize=(6.4,4.8))
ax1=fig1.add_subplot(111)
plt.subplots_adjust(left=0.15, bottom=0.15, right=0.95, top=0.9, wspace=0, hspace=0.5)

fig2=plt.figure('fig2',figsize=(6.4,4.8))
ax2=fig2.add_subplot(111)
plt.subplots_adjust(left=0.15, bottom=0.15, right=0.95, top=0.9, wspace=0, hspace=0.5)

然后它们可能在 y 轴上有不同的标签。不幸的是,当我尝试使用 GIMP 粘贴它们时,我发现它们的 x 轴大小略有不同。如何控制 x 轴大小以不存在出现此问题的风险?

标签: pythonmatplotlibplot

解决方案


而不是使用add_subplot,尝试add_axes如下例所示

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.1,10,10)
y1 = x*x
y2 = np.exp(-x/3)

fig =plt.figure('fig1',figsize=(6.4,4.8))

ax1 = fig.add_axes((0.1,0.1,0.8,0.4))
ax2 = fig.add_axes((0.1,0.5,0.8,0.4))


ax1.plot(x,y1,color='Red')
ax1.set_xlim(0,10)
ax2.set_xlim(0,10)
ax2.plot(x,y2,color='Blue')
plt.savefig('example.png')

在此处输入图像描述


推荐阅读