格子モデルシミュレーションの第一歩:ヒートマップで表現する
シミュレーション
コードレビュー
ステップ1.格子空間の生成
julia> colormap\_SI = [colorant"#EEEEEE", colorant"#111111"]
julia> row\_size = 5
5
julia> column\_size = 5
5
julia> Random.seed!(3);
julia> stage\_lattice = rand(['S'], row\_size, column\_size)
5×5 Array{Char,2}:
'S' 'S' 'S' 'S' 'S'
'S' 'S' 'S' 'S' 'S'
'S' 'S' 'S' 'S' 'S'
'S' 'S' 'S' 'S' 'S'
'S' 'S' 'S' 'S' 'S'
上のコードは$5 \times 5$サイズの空の格子空間を作り、ランダムな位置二箇所を埋めるものである。空の空間は文字'S'
で、埋めた空間は'I'
で表示される。
ステップ2.ヒートマップでプロッティング
stage\_lattice[rand(1:row\_size), rand(1:column\_size)] = 'I'; stage\_lattice
figure = heatmap(reverse(stage\_lattice,dims=1), color=colormap\_SI,
xaxis=false,yaxis=false,axis=nothing, size = [400,400], legend = false)
png(figure, "lattice\_tutorial.png"); figure
上記のコードを実行すると、次のようなイメージファイルが生成される。**ステップ1.**で見たように、2列3行の'I'
が黒色で塗られていることが確認できる。
完全コード
以下はこの投稿に使われたジュリアコードだ。
cd(@__DIR__) # 파일 저장 경로
@time using Plots
@time using Random
colormap_SI = [colorant"#EEEEEE", colorant"#111111"]
row_size = 5
column_size = 5
Random.seed!(3);
stage_lattice = rand(['S'], row_size, row_size)
stage_lattice[rand(1:row_size), rand(1:column_size)] = 'I'; stage_lattice
figure = heatmap(reverse(stage_lattice,dims=1), color=colormap_SI,
xaxis=false,yaxis=false,axis=nothing, size = [400,400], legend = false)
png(figure, "lattice_tutorial.png"); figure