📊
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