Pythonのグラフ描画ライブラリである「matplotlib」を使って、グラフの色をグラデーションにする方法を紹介します。
グラデーションで使用するカラーマップについて
matplotlibでグラフの色をグラデーションにするためには、カラーマップを使用すると便利です。カラーマップの種類としては、大きく下記の5つがあります。
- Sequential : 連続
- Diverging : 発散
- Cyclic : 周期
- Qualitative : 定性
- Miscellaneous : その他
それぞれのカラーマップについて、ざっくり順番に紹介していきます。
matplotlibで散布図 (scatter)をグラデーションにする方法
散布図にカラーマップを適用する方法を紹介します。
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
# 乱数を生成
x = np.random.rand(100)
y = np.random.rand(100)
value = np.random.rand(100)
fig = plt.figure(figsize=(6,4), facecolor='lightblue')
plt.xlabel('X')
plt.ylabel('Y')
# 散布図を表示
plt.scatter(x, y, s=50, c=value, cmap='Blues')
# カラーバーを表示
plt.colorbar(ticks=np.arange(0, 1, 0.1))
plt.show()
このコードは、matplotlib.pyplot.scatter の引数 cmap= を指定することで、カラーマップを適用することができます。
matplotlibでプロットの線をグラデーションにする方法
プロットの線をグラデーションにする方法を紹介します。
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
num = 10
x = np.linspace(0, np.pi * 2, 100)
fig = plt.figure(figsize=(6,4), facecolor='lightblue')
plt.xlabel('X')
plt.ylabel('Y')
for i in range(num):
y = np.sin(x) + i
plt.plot(x, y, linestyle='solid', label=str(i), color=cm.Blues(i/num))
plt.legend(loc=(1,0.29))
plt.show()
このコードは、カラーマップに、0~1の範囲で値を指定することで、色を指定することができます。
以上、Pythonとmatplotlibを使ってグラフの色をグラデーションにする方法について紹介しました。これらのテクニックを使って、より見やすく情報を伝えることができるグラフを作成してみてください。.