0
我在matplotlib中使用AxesGrid創建一個疊加兩個imshow圖的圖,每個圖像colourmap並排放置一個獨立的顏色條。雖然我可以在this question/answer中看到使用pyplot.colorbar()會自動繪製第一個旁邊的第二個顏色條,但這似乎不適用於AxesGrid。Can AxesGrid可用於使用兩個單獨的顏色條來繪製兩個imshows(疊加層)?
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import AxesGrid
fig = plt.figure(1, facecolor='white',figsize=(10,7.5))
grid = AxesGrid(fig, 111,
nrows_ncols=(1, 1),
axes_pad=(0.45, 0.15),
label_mode="1",
share_all=True,
cbar_location="right",
cbar_mode="each",
cbar_size="7%",
cbar_pad="2%",
)
im = grid[0].imshow(my_image, my_cmap)
cbar = grid.cbar_axes[0].colorbar(im)
im2 = grid[0].imshow(my_image_overlay, my_cmap2, alpha=0.5)
cbar2 = grid.cbar_axes[0].colorbar(im2)
plt.show()
但是,這只是顯示第二個顏色條。 (可能覆蓋第一個)。我試圖重寫填充在cbar2:
cbar2 = grid.cbar_axes[0].colorbar(im2, pad=0.5)
但這會導致與「得到了一個意想不到的關鍵字參數‘墊’」
有沒有辦法來抵消第二colourbar錯誤?