MatplotlibでFigureからカラーバーのインスタンスを取得する方法
概要
MatplotlibでFigureからカラーバーのインスタンスを取得するには、imshow()が返すScalarMappableオブジェクトをcolorbar()メソッドに渡します。これにより、戻り値としてカラーバーのインスタンスを受け取ることができます。
手順
-1〜1の範囲の値を持つ10×10のランダムな配列データを生成します。
imshow()メソッドを使用して、データを2次元の正規ラスタ(画像)として表示します。
imshow()が返すScalarMappableインスタンスをcolorbar()に渡し、カラーバーを作成すると同時にそのインスタンスを取得します。
show()メソッドを使用して図を表示します。
サンプルコード
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True data = np.random.randint(-1, 1, (10, 10)) im = plt.imshow(data, interpolation="nearest") cbar = plt.colorbar(im) plt.show()
出力結果

上記のコードを実行すると、ランダムに生成されたデータが画像として表示され、その右側に対応するカラーバーが自動的に描画されます。変数cbarにはカラーバーのインスタンスが格納されているため、後からラベルの追加や色の範囲(vmin・vmax)の変更など、さまざまなカスタマイズを行うことが可能です。
-
MatplotlibでHTTP URLからリモート画像を読み込んで表示する方法
HTTP URL上にあるリモート画像をMatplotlibでプロットしたい場合、scikit-image(skimage)が提供するio.imread()メソッドを使うと、URLを直接指定して画像を読み込むことができます。以下の手順で実装してみましょう。実装手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。HTTP URLから画像データを読み込みます。imshow()メソッドを使い、読み込んだデータを2Dラスタ画像として表示します。axis(off)で軸を非表示にし、画像だけをきれいに見せます。show()メソッドを呼び出して図を表示します。コード例from s
-
MatplotlibでRectangle(長方形)に色を設定する方法
Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show