Matplotlibでカラーバーの幅を縮小する方法
Matplotlibでカラーバーの幅(長さ)を狭くしたい場合は、colorbar()メソッドのshrink引数を使用します。shrinkには0〜1の範囲の数値を指定でき、例えばshrink=0.50とすると、元のサイズの50%に縮小されて表示されます。
手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- NumPyを使ってランダムなデータを作成します。
- imshow()メソッドでデータを画像として2次元ラスタ上に表示します。
- ScalarMappableインスタンス(im)に対してcolorbar()を呼び出し、カラーバーを作成します。この際、shrink引数でサイズを指定します。
- show()メソッドで図を画面に表示します。
コード例
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = np.random.rand(5, 5) im = plt.imshow(data, cmap="YlOrBr") plt.colorbar(im, shrink=0.50) plt.show()
このコードでは、5×5のランダムなデータを「YlOrBr」カラーマップでヒートマップとして描画し、その右側に元の高さの半分の大きさのカラーバーを配置しています。
実行結果

なお、カラーバーの太さ自体を細くしたい場合は、aspect引数を組み合わせるとより柔軟に調整できます。また、図全体のレイアウトはfigure.autolayoutを有効にしておくことで、要素が重ならず自動的に整形されます。
-
Matplotlibでhist2dプロットにカラーバーを追加する方法
Matplotlibのhist2dプロット(2次元ヒストグラム)にカラーバーを追加するには、colorbar()メソッドの引数にスカラーマッピング可能なオブジェクト(ScalarMappable)を渡します。 実装手順 NumPyを使ってxとyのデータポイントを作成します。 subplots()メソッドを使って、図とサブプロットを作成します。 hist2d()メソッドを使って、2次元ヒストグラムを描画します。 hist2dから返されるスカラーマッピングオブジェクトをもとに、colorbar()でカラーバーを作成します。 show()メソッドを使って、図を表示します。 コード例 import
-
Matplotlibでヒストグラムデータから折れ線グラフを描画する方法
Matplotlibでヒストグラムのデータをもとに折れ線グラフを描画するには、NumPyのhistogram()メソッドを使ってデータセットのヒストグラムを事前に計算しておくのが便利です。この記事では、同じデータをヒストグラムと折れ線グラフの両方で可視化する手順を解説します。実装の手順現在の図にサブプロットを追加します。nrows=2、ncols=1とし、index=1を指定します。NumPyのhistogram()メソッドを使用して、データセットのヒストグラム(度数とビンの境界値)を取得します。edgecolor=blackを指定してhist()メソッドでヒストグラムを描画します。インデック