设置Matplotlib颜色条的大小以匹配图形。

271

我无法让像这样的imshow图形上的colorbar与图形本身具有相同的高度,除非事后使用Photoshop。如何使它们的高度匹配? 颜色条大小不匹配的示例


你尝试过从https://dev59.com/2WQn5IYBdhLWcg3wmILY中的建议吗? - lmjohns3
@imjohns3 那篇帖子中似乎没有任何内容能够改变颜色条的大小。无论我设置什么,它都保持不变。然而,如果我设置分数和收缩,图形的大小会发生变化,而颜色条保持不变,直到回到我已经设置的状态,然后它们就不再起作用了。 - Elliot
请查看文档--http://matplotlib.org/api/colorbar_api.html--并使用“fraction”或“shrink”参数。 - BoltzmannBrain
1
你能否使用pcolormesh代替imshow? - cssstudent
11个回答

0
对于这些类型的图,我喜欢来自mpl_toolkits.axes_grid1ImageGrid API。它专门用于管理多个固定纵横比的图,但对于单个图像也能很好地工作。
from matplotlib import pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid


fig = plt.figure()
plot = ImageGrid(fig, 111, (1, 1),
                 cbar_mode='single',
                 cbar_location='right',
                 cbar_size='3%',
                 cbar_pad='5%')
im = plot[0].imshow(np.random.randn(2**4, 2**6))
cbar = fig.colorbar(im, cax=plot.cbar_axes[0])

mpl_toolkits.axes_grid1.ImageGrid fixed aspect image with matching colorbar


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接