如何在matplotlib子图像轴之间强制相同的大小

时间:2018-05-11 18:34:42

标签: python matplotlib axes imshow multiple-axes

假设我有以下代码来创建三个并排图像:

    n=10
    x = np.random.rand(n,1)
    y = np.random.rand(1,n)
    z = np.random.rand(n,n)

    fig, ax = plt.subplots(1, 3)
    ax[0].imshow(x)
    ax[1].imshow(z)
    ax[2].imshow(y)

但是,轴会自动缩放,以便第一张图像中的垂直轴大于第二张图像中的垂直轴。

enter image description here

有没有办法以编程方式强制所有尺寸n的图像尺寸在三个图中看起来相同,无论窗口大小如何?我正在寻找一种方法来链接轴或图像,以便第一个图的垂直轴与第二个图的垂直轴大小相同,第三个图的水平轴是相同的尺寸为第二个图的水平轴,与窗口大小无关。即是这样的: enter image description here

1 个答案:

答案 0 :(得分:0)

您可以在垂直方向上限制图形尺寸和/或子图参数,以便为轴缩放留出更少的空间。

fig, ax = plt.subplots(1, 3, figsize=(6.4,3))
fig.subplots_adjust(bottom=0.26, top=0.74)

plot