Python/Matplotlibでカラーマップに基づく極座標カラーホイールをプロットする方法
PythonとMatplotlibを使って、カラーマップに基づいたカラーホイール(色相環)を描画するには、colorbarクラスを活用し、copperなどのカラーマップを指定するのが簡単です。極座標系の軸にカラーバーを描画することで、円形のグラデーションカラーが美しく表現できます。
実装の手順
図のサイズを設定し、サブプロット間および周囲の余白(padding)を調整します。
figure()メソッドで新しい図を作成するか、既存の図をアクティブ化します。
add_axes()メソッドを使って、図に新しい軸(axes)を追加します。このとき、
projection='polar'を指定して極座標系にします。軸の方向(_direction)を設定し、カラーホイールの回転方向を制御します。
Normalizeクラスを使って、データを線形に正規化します。
既存の軸上にColorbarBaseでカラーバーを描画します。
アーティスト(枠線など)の可視性を設定します。
X軸・Y軸を非表示にして、すっきりした見た目にします。
show()メソッドで図を表示します。
コード例
import numpy as np
from matplotlib import pyplot as plt, cm, colors, colorbar
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
display_axes = fig.add_axes([0.1, 0.1, 0.8, 0.8], projection='polar')
display_axes._direction = 2 * np.pi
norm = colors.Normalize(0.0, 2 * np.pi)
cb = colorbar.ColorbarBase(display_axes,
cmap=cm.get_cmap('copper', 2056),
norm=norm,
orientation='horizontal')
cb.outline.set_visible(False)
display_axes.set_axis_off()
plt.show()
コードのポイント
_direction = 2 * np.pi を設定することで、カラーバーが一周360度の円環として描画されます。Normalize(0.0, 2 * np.pi)により、角度の範囲が0〜2πに正規化され、copperカラーマップが滑らかに適用されます。また、set_visible(False)で外枠を消し、set_axis_off()で軸ラベルや目盛りを非表示にすることで、カラーホイールだけが浮かび上がるデザインになります。
補足: Matplotlib 3.7以降では cm.get_cmap() は非推奨となっています。最新バージョンでは plt.get_cmap('copper', 2056) または matplotlib.colormaps['copper'].resampled(2056) を使用してください。
出力結果

-
Python Matplotlibで3Dグラフをプロットする方法を解説
PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使
-
Python(Matplotlib)で散布図を作成し、データ点ごとに色を設定する方法
Pythonの可視化ライブラリ「Matplotlib」では、scatter()メソッドを使うことで簡単に散布図を作成できます。さらに、c引数に値のリストを渡すことで、データ点ごとに異なる色(カラーマッピング)を割り当てることも可能です。 手順 np.random.rand()メソッドを使用して、指定した形状のランダムな値(x座標・y座標)を生成します。 scatter()メソッドを使い、x軸とy軸の値から散布図を作成します。このとき、c引数に0〜999までの連続した数値を指定することで、各データ点に異なる色が自動的に割り当てられます。色はデフォルトのカラーマップ(viridis)に基づいてグ