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()
グリッド内のサブプロットの1つの位置に新しいカラーバーを正確に一致させる方法を教えてください。私は少なくとも縮みとアンカーを使ってサイズとy位置を修正することができました...しかし、サブプロット間のパディングを考慮しようとすると、ちょっと複雑になってしまい、正方形ではなく長方形である場合...
達成したいことがわかりません。 「新しいカラーバーをグリッド内のサブプロットの1つの位置に正確に一致させる」という文章は、さまざまな方法で解釈できます。私はあなたが示すプロットに何が間違っているかを明確に記述する方が良いと思います。左のカラーバーはどこにあるのですか?どこに正しいカラーバーが座りたいですか?どのポジションに揃えたいですか?それは正方形であることを意味します。これは、あなたの望むことですか?合計でいくつのカラーバーが必要ですか? – ImportanceOfBeingErnest
私は左に1つのカラーバーを持っています。そして私は、左にあるものと同じように右に別のものを持っていきたいと思います - サブプロットの1つに揃えました。それの上にではなく、今の通りですが、隣にあります。 – Phlya
私はAxesGridを使って良い解決策があるとは思わない。なぜなら、プロットの片側にのみサブプロットを許可するからです。 AxesGridを使用したい理由は、プロット間の間隔を避けたいということでしょうか?しかし、AxesGridの使用要件を取り除くことができれば、解決策は通常のサブプロットを使用することです。 – ImportanceOfBeingErnest