Juliaプロットでカラーグラデーションを使用する方法
説明
カラーグラディエントは、Juliaの視覚化パッケージ Plots.jlがサポートする2つのカラースキームのうちの1つ(もう1つはパレット)で、私たちが一般的にグラデーションと呼んでいるものと同じだ。つまり、簡単に言うとグラデーションが実装されているタイプが ColorGradientである。
グラディエントは、heatmap(), surface(), contour()などの図表を描くのに使われる。複数のグラフの色をそれぞれ変えたい場合は、グラディエントではなくパレットを使用する。
コード
シンボル
cgrad(シンボル)で使用できる。デフォルトのグラディエントは cgrad(:inferno)で、色は以下の通りである。
using Plots
cgrad(:inferno)
heatmap(reshape(1:25, (5, 5)))

Plots.jlに事前定義されているパレットとグラディエントは、公式ドキュメントで確認できる。(パッケージ ColorSchemes.jlの公式ドキュメントでさらに多様なパレットとグラディエントを探すことができる。)

Pythonのmatplotlibで imshowのデフォルトカラーマップでグラディエントに似たものは :viridisである。
heatmap(reshape(1:25, (5, 5)), fillcolor = cgrad(:viridis))

直接定義
cgrad([開始色, 終了色])で直接パレットを定義することができる。色が変わるポイントを設定するには、オプション引数として$0$と$1$の間の値を要素に持つベクトルを入力する。
cgrad([:blue, :orange])
cgrad([:blue, :orange], [0.1, 0.9])
cgrad([:blue, :orange], [0.5, 0.50001])
キーワード
rev
キーワード引数として rev = trueを入力すると、順序が逆になる。
cgrad(:darktest)
cgrad(:darktest, rev = true)
scale
キーワードscaleは、グラディエントのスケールを指定する。:logまたは:expを入力できる。
cgrad(:rainbow)
cgrad(:rainbow, scale = :log)
cgrad(:rainbow, scale = :exp)
環境
- OS: Windows11
- Version: Julia 1.9.4, Plots v1.39.0
