我想使用Matplotlib创建出版质量的方形子图。目前,我有2个子图,它们是用大小为8,5的图形制作的,两个图的X限制是不同的。
我希望两个子图都是方形尺寸而不是Y轴更高。有什么建议 ? 或者,有没有办法可以明确控制matplotlib中子图的宽度和高度比?
以下是我现在的样本图片。
答案 0 :(得分:2)
您可以明确控制图形大小,并且可以在图形中明确设置轴的位置,作为图形大小的一部分。
fig = plt.figure(figsize=(8,4))
ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.8])
ax1.plot(...)
ax2 = fig.add_axes([0.5, 0.1, 0.4, 0.8])
ax2.plot(...)
此外,您可以为创建轴(aspect='equal'
,add_axes
)的函数提供add_subplot
,以强制轴形状与轴刻度匹配(与线性对数无关)图)。