격자 모델 시뮬레이션 첫걸음: 히트맵으로 나타내기
시뮬레이션
코드 리뷰
Step 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'
로 표시되어있다.
Step 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
위 코드를 실행시키면 다음과 같은 이미지 파일이 생성된다. Step 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