はじめに
matplotlibのColorbarで任意の目盛りとラベルを設定する方法について説明する。
コード
解説
モジュールのインポート
バージョン
データの生成
4096個のランダムなデータを64×64の形状に変換した。
画像の表示
カラーバーの表示と目盛りの設定
fig.colorbar(im, ticks=[0,0.5, 1])のように、ticksをリストで指定することで、指定した位置に目盛りが表示される。
カラーバーの表示範囲は、デフォルトの垂直方向カラーバーの場合、ax.set_ylim()で設定できる。
同様に、目盛りラベルは、ax.set_yticklabels([‘< 0’, ‘0.5’, ‘> 1’]) のように設定できる。
水平方向カラーバーについて
カラーバーを水平にしたい場合、cbar = fig.colorbar()
でorientation='horizontal'
とする。
水平カラーバーの場合、目盛りラベルの設定は、set_xticklabels
となる。
水平方向カラーバーを上に表示する場合
mpl_toolkits.axes_grid1
のmake_axes_locatable
を用いる。cax.xaxis.set_ticks_position('top')
とすることで目盛りの表示位置を上側にすることができるので、目盛りラベルも上側に表示される。そのため、画像と目盛りラベルが重ならなくなる。
参考
Colorbar Tick Labelling — Matplotlib 3.4.3 documentation
Colorbar with AxesDivider — Matplotlib 3.9.2 documentation
コメント