我想添加另一个颜色条到我使用AxesGrid工具包的情节。例如,我在左边添加一个使用ImageGrid的彩条轴,然后手动在右边添加另一个。这里有一个简单的例子:matplotlib axesgrid - 额外的颜色条?
f = plt.figure(1)
grid = ImageGrid(f, 111, # similar to subplot(111)
nrows_ncols=(2, 2),
axes_pad=0.01,
add_all=True,
cbar_location="left",
label_mode='L',
cbar_mode="edge",
cbar_size="3%",
cbar_pad="2%",
)
for i in range(3):
m = grid[i].matshow(np.arange(100).reshape((10, 10)))
plt.colorbar(m, grid.cbar_axes[0])
m = grid[3].matshow(np.arange(100).reshape((10, 10)), cmap='plasma')
plt.colorbar(m, shrink=0.5, anchor=(0, 0))
plt.show()
如何使新的颜色条与网格中其中一个子图的位置完全匹配?我至少设法使用缩小和锚点来固定尺寸和y位置......但是如果我尝试考虑子图之间的填充,并且它们是矩形而不是方形,它也会变得有点复杂......
我不清楚你想达到什么目的。可以用许多不同的方式来解释句子“使新颜色条与网格中的其中一个子图的位置完全匹配”。我认为最好清楚描述你所展示的情节有什么问题。左边的颜色条是否在你想要的位置?您想在哪里放置正确的颜色条?你想让它对齐到哪个位置? '完全匹配意味着它有一个正方形的形状。这是你想要的吗?总共需要多少个颜色条? – ImportanceOfBeingErnest
我想在左边有一个颜色条。而且我想要在另一个右侧的方向上与左侧的一个相同 - 与其中一个子图相对应。不是最重要的,就像现在一样,但在它旁边。 – Phlya
我不认为使用AxesGrid有一个好的解决方案,因为它只允许绘图一侧的子图。我想你想使用AxesGrid的原因是你想避免图之间的间距?但是,如果您可以放弃使用AxesGrid的要求,那么解决方案可能是使用正常的子图。 – ImportanceOfBeingErnest