ジュリアプロットでカラーグラデーションを使用する方法
説明
カラーグラディエントは、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