Matplotlibでカラーマップに基づいて散布図のポイントをシェーディングする方法
Matplotlibでは、scatter() メソッドにカラーマップを指定することで、散布図の各ポイントを値に応じて色分け(シェーディング)できます。ここでは例として、銅のような暖かい色合いが特徴的な「copper」カラーマップを使用します。
実装の手順
- 図のサイズを設定し、サブプロット間および周囲のパディングを調整します。
- numpy を使って、x と y それぞれにランダムなデータポイントを100個生成します。
- c=x でx座標の値を色の基準として指定し、cmap='copper' でカラーマップを設定して散布図をプロットします。
- show() メソッドを呼び出して、図を表示します。
コード例
import numpy as np from matplotlib import pyplot as plt, cm plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = np.random.rand(100) y = np.random.rand(100) plt.scatter(x, y, c=x, cmap='copper') plt.show()
解説
このコードでは、引数 c に x の値を渡すことで、各ポイントのx座標の大きさに応じて色が割り当てられます。x の値が小さいほど暗い色に、大きいほど明るい銅色に近づくため、データの分布を直感的に把握できるグラフになります。カラーマップは 'viridis' や 'plasma' など、目的に応じて自由に変更可能です。
出力結果

-
Matplotlibでカスタムカラーマップを作成し、imshow()でデータをプロットする方法
Matplotlibでimshow()を使ってデータを可視化する際に、独自のカスタムカラーマップを適用したいケースはよくあります。その場合は、以下の手順に従うことで簡単に実現できます。 実装の手順 図(figure)のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。 NumPyを使ってランダムなデータポイントを生成します。 色のリストからListedColormapオブジェクトを作成し、カスタムカラーマップを定義します。 データを画像として表示します。つまり、2次元の正規ラスター上に描画します。 図を画面に表示するには、show()メソッドを呼び出します。 なお、
-
Matplotlibのカラーマップで特定の値の色を再定義する方法
Matplotlibのカラーマップにおいて、特定の値に対応する色を再定義したい場合は、以下の手順で実現できます。 get_cmap() メソッドを使用してカラーマップのインスタンスを取得します。引数 name が None の場合、rcParams のデフォルト設定値が使用されます。ここでは「gray」カラーマップを指定しています。 set_under() メソッドを使用して、norm.clip = False の場合に正規化範囲より下側(低い値)として扱われるデータに割り当てる色を設定します。これにより、閾値未満の値を任意の色で強調表示できます。 imshow() メソッドを使用して、デー