はじめに
このチュートリアルでは、mpl_toolkits.axes_grid1.inset_locator.inset_axes を使ってカラーバーの位置、高さ、幅を制御する方法を紹介します。これは、プロットにカラーバーを追加したいが、そのサイズと位置をカスタマイズしたい場合に便利です。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
まず、必要なライブラリをインポートする必要があります。matplotlib と、mpl_toolkits.axes_grid1 からの inset_axes です。
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
プロットと画像を作成する
次に、インセット エイクスを使ってカラーバーを追加する方法を示すために、プロットと画像を作成します。
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=[6, 3])
im1 = ax1.imshow([[1, 2], [2, 3]])
im2 = ax2.imshow([[1, 2], [2, 3]])
インセット エイクスを使ってカラーバーを追加する
次に、インセット エイクスを使って各画像にカラーバーを追加します。最初のカラーバーは ax1 に、2 番目のカラーバーは ax2 に追加されます。
## add colorbar to ax1
axins1 = inset_axes(
ax1,
width="50%", ## width: 50% of parent_bbox width
height="5%", ## height: 5%
loc="upper right",
)
axins1.xaxis.set_ticks_position("bottom")
fig.colorbar(im1, cax=axins1, orientation="horizontal", ticks=[1, 2, 3])
## add colorbar to ax2
axins2 = inset_axes(
ax2,
width="5%", ## width: 5% of parent_bbox width
height="50%", ## height: 50%
loc="lower left",
bbox_to_anchor=(1.05, 0., 1, 1),
bbox_transform=ax2.transAxes,
borderpad=0,
)
fig.colorbar(im2, cax=axins2, ticks=[1, 2, 3])
プロットを表示する
最後に、plt.show() を使ってプロットを表示します。
plt.show()
まとめ
このチュートリアルでは、カスタマイズされたサイズと位置でカラーバーをプロットに追加するために、mpl_toolkits.axes_grid1.inset_locator.inset_axes をどのように使用するかを学びました。inset_axes 関数を使うことで、カラーバーの位置、高さ、幅を制御でき、見た目の良いプロットを作成しやすくなります。