gpt4 book ai didi

python - 使用和不使用 make_axes_locatable->divider colorbars 在 matplotlib 中匹配图形大小

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:58 24 4
gpt4 key购买 nike

我在 2x2 网格中有 4 个图表,但只希望右边的两个有条形(按行应用比例)。我正在使用表格

divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
plt.colorbar(im, cax=cax)

使颜色条与这两个图的大小相匹配。然而,这使得带有颜色条的两个与没有颜色条的两个大小不同,这看起来都很糟糕并且消除了仅将轴放在外边缘的能力。我试过只是没有调用 colorbar(使用 divider 调用),但当然这会在旁边留下一个空的白框和数字。如何让所有图形(有和没有颜色条)具有一致的大小而不在所有图形上放置条形图?

最佳答案

使用 GridSpec 制作一组自定义子图,然后将颜色条添加到最后一列。

例子:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

fig = plt.figure()

gs = gridspec.GridSpec(2, 3, width_ratios=[10,10,1])

ax = np.empty([2,3],dtype=np.object)
im = np.empty([2,2],dtype=np.object)

for m in range(2):
for n in range(2):
ax[m,n] = plt.subplot(gs[m,n])
im[m,n] = ax[m,n].imshow(np.random.rand(10,10))

for i in range(2):
ax[i,2] = plt.subplot(gs[i,2])
plt.colorbar(im[i,1],cax=ax[i,2])

plt.show()

另见: Python/Matplotlib - Change the relative size of a subplot

关于python - 使用和不使用 make_axes_locatable->divider colorbars 在 matplotlib 中匹配图形大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18215531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com