📊
Juliaにおけるheatmapの注意点
Plots.jlを用いてヒートマップを始めとする2変数のグラフを描写します. ヒートマップに配列を渡して描写する際, データの並び方向が間違っており, 全然違う結果になってしまうことがありました. 以前にも同じ間違いを経験しているので, これを機にメモを残しておきます.
パッケージ
初回の人は下記のコメントアウトを外してusing Pkg; Pkg.add("Plots")
を実行してください. using Plots
は使用前に毎回実行します.
# using Pkg
# Pkg.add("Plots")
using Plots
描写方法
変数X
, Y
, Z
としてheatmap
に渡すことで描写できます. 同様にsurface(X, Y, Z)
, contour(X, Y, Z)
, heatmap(X, Y, Z)
なども使用できます.
X = 0:3
Y = 4:7
Z = [10*x+y for y in Y, x in X]
heatmap(X, Y, Z)
注意点
このとき, for y in Y, x in X
ではなくfor x in X, y in Y
と書いてしまうと, 次のように軸が逆の結果になってしまうので気を付けてください. 例えば
X = 0:3
Y = 4:7
Z = [10*x+y for x in X, y in Y]
heatmap(X, Y, Z)
Discussion