Matplotlibでhist2dプロットにカラーバーを追加する方法
Matplotlibのhist2dプロット(2次元ヒストグラム)にカラーバーを追加するには、colorbar()メソッドの引数にスカラーマッピング可能なオブジェクト(ScalarMappable)を渡します。
実装手順
NumPyを使ってxとyのデータポイントを作成します。
subplots()メソッドを使って、図とサブプロットを作成します。hist2d()メソッドを使って、2次元ヒストグラムを描画します。hist2dから返されるスカラーマッピングオブジェクトをもとに、
colorbar()でカラーバーを作成します。show()メソッドを使って、図を表示します。
コード例
import numpy as np from matplotlib import pyplot as plt, colors plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True x = np.random.randn(100) y = np.random.randn(100) + 5 fig, ax = plt.subplots() hh = ax.hist2d(x, y, bins=40, norm=colors.LogNorm()) fig.colorbar(hh[3], ax=ax) plt.show()
このコードでは、np.random.randn()で正規分布に従う乱数データを生成し、y方向に+5だけオフセットしています。bins=40でビン数を40に設定し、colors.LogNorm()により対数スケールで色分けすることで、度数のばらつきが大きいデータも見やすく可視化できます。
hist2d()は戻り値としてタプルを返し、その4番目の要素(hh[3])がQuadMeshオブジェクトです。このオブジェクトをfig.colorbar()に渡すことで、ヒストグラムの色と対応したカラーバーが自動的に生成されます。
出力結果

-
Matplotlibで複数のX軸・Y軸をプロットする方法(twinx / twinyの使い方)
データ分析や可視化では、スケールの異なる2つのデータ系列を同じグラフ上に重ねて表示したいケースがよくあります。Matplotlibでは、twinx() メソッドや twiny() メソッドを使うことで、X軸またはY軸を共有しながら独立したもう一方の軸を持つグラフを簡単に作成できます。 この記事では、左右に異なるY軸を持つグラフを作成する手順を、具体的なコード例とともに解説します。 複数のY軸を持つグラフの作成手順 以下の手順で、左と右に別々のY軸スケールを持つプロットを作成できます。 subplots() メソッドを使用して、図(figure)とサブプロット(axes)を作成します。 最初の
-
Matplotlibでカラーバー付き2D行列をPythonでプロットする方法
Pythonでカラーバー付きの2D行列をプロットするには、numpyを使って2次元配列(行列)を作成し、そのデータをimshow()メソッドに渡すのが最も簡単な方法です。手順numpyを使用して data2D という2次元配列を作成します。imshow() メソッドを使い、データを画像として(2次元の正規ラスタ上に)表示します。colorbar() メソッドに imshow() が返す ScalarMappable インスタンスを渡し、カラーバーを作成します。これにより、色と数値の対応関係がひと目でわかるようになります。図を表示するには、show() メソッドを使用します。コード例import