我想添加另一個顏色條到我使用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