Python Matplotlib imshow图(2,2)图像大小与轴成比例

Python Matplotlib imshow图(2,2)图像大小与轴成比例,python,python-3.x,matplotlib,imshow,Python,Python 3.x,Matplotlib,Imshow,我正在尝试绘制4个矩阵,它们可以组合成一个2x2矩阵。无论出于何种原因,最后一个矩阵D太大。我希望它的大小与其轴线成比例。我正在使用Python 3.6 fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(7, 7)) axs[0, 0].set_title('A') axs[0, 0].imshow(A, vmin=0, vmax=1) axs[0, 1].set_title('B') axs[0, 1].imshow(B, vmin=0, v

我正在尝试绘制4个矩阵,它们可以组合成一个2x2矩阵。无论出于何种原因,最后一个矩阵D太大。我希望它的大小与其轴线成比例。我正在使用Python 3.6

fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(7, 7))
axs[0, 0].set_title('A')
axs[0, 0].imshow(A, vmin=0, vmax=1)
axs[0, 1].set_title('B')
axs[0, 1].imshow(B, vmin=0, vmax=1)
axs[1, 0].set_title('C')
axs[1, 0].imshow(C, vmin=0, vmax=1)
axs[1, 1].set_title('D')
axs[1, 1].imshow(D, vmin=0, vmax=1)
plt.show()

在问题代码中,子地块列和行的宽度和高度分别相等。您要做的是使第一列和第一行比第二行大4倍

这可以通过使用gridspec的
高度比
宽度比
轻松实现

import matplotlib.pyplot as plt
import numpy as np

A = np.random.rand(500,500)

fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(7, 7),
                        gridspec_kw=dict(height_ratios=[4,1], width_ratios=[4,1]))
axs[0, 0].set_title('A')
axs[0, 0].imshow(A[:400,:400], vmin=0, vmax=1)
axs[0, 1].set_title('B')
axs[0, 1].imshow(A[:400,400:], vmin=0, vmax=1)
axs[1, 0].set_title('C')
axs[1, 0].imshow(A[400:,:400], vmin=0, vmax=1)
axs[1, 1].set_title('D')
axs[1, 1].imshow(A[400:,400:], vmin=0, vmax=1)
plt.show()

在问题代码中,子地块列和行的宽度和高度分别相等。您要做的是使第一列和第一行比第二行大4倍

这可以通过使用gridspec的
高度比
宽度比
轻松实现

import matplotlib.pyplot as plt
import numpy as np

A = np.random.rand(500,500)

fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(7, 7),
                        gridspec_kw=dict(height_ratios=[4,1], width_ratios=[4,1]))
axs[0, 0].set_title('A')
axs[0, 0].imshow(A[:400,:400], vmin=0, vmax=1)
axs[0, 1].set_title('B')
axs[0, 1].imshow(A[:400,400:], vmin=0, vmax=1)
axs[1, 0].set_title('C')
axs[1, 0].imshow(A[400:,:400], vmin=0, vmax=1)
axs[1, 1].set_title('D')
axs[1, 1].imshow(A[400:,400:], vmin=0, vmax=1)
plt.show()

你希望矩阵D是B的宽度和C的高度,对吗?没错。你希望矩阵D是B的宽度和C的高度,对吗?没错。太好了!正是我想要的:)完美!正是我想要的:)