matplotlibでパラメーターごとにプロットの色を変える方法
matplotlibでパラメーターごとにプロットしている時に、色をいちいち指定するのが面倒。例えばこんなの↓
デフォで普通にプロットしても基本的には色は変えてくれる。
けど、パラメーターが増えてくると、もっと細かく色指定したくなる時がある。
具体的には、あるパラメーターを振った時、パラメーターが増加するに連れてグラデーションで色が変わっていく状況はよくある。
今回はその方法について。
ここ↓を参考(丸パクリ)にしました。
Matplotlibで色を連続的に選択 - bettamodokiのメモ
ポイントは色を指定するところのcm.hsv。
cmは正確には、matplotlib.cmで、hsvはカラーパレットの種類を表す。
上のリンクでも言ってるけど、spectralなカラーパレットなら、
autumn, bone, cool, copper, flag, gray, hot, hsv, jet, pink, prism, spring, summer, winter, spectral
がある。色々試してみよう。
その他のカラーパレットについては、
color example code: colormaps_reference.py — Matplotlib 1.4.0 documentation
を参照。sequentialなパレットは系統的なパラメーターの変化をプロットするときに使えそう。sequentialだとこんな感じ
cm.hsvのカッコの中は、[0:1]の実数が入ることに注意。[0:255]の整数ではない。
だから、
float(i)/10.
のところを調整して上げれば、グラデーションの調整ができる
基本的には、for文の中で動く変数が最小の時に0,最大の時に1になるようにすればいい感じのグラデーションになる。上の例はそうしている。
この方法は基本的には色が指定できるプロットならどれでもできる。はず。