줄리아에서 배열을 히트맵 이미지로 출력 저장하는 방법

줄리아에서 배열을 히트맵 이미지로 출력 저장하는 방법

Heatmap

Plots 패키지heatmap 함수를 쓰면 2차원 배열을 히트맵 이미지로 출력할 수 있고, savefig 함수로 해당 이미지를 저장할 수 있다. @__DIR__은 줄리아 코드 파일의 위치를 알려주는 매크로이다.

julia> cd(@__DIR__)

julia> using Plots

julia> A=[i for i=1:25]
25-element Array{Int64,1}:
  1
  2
  3
  4
  ⋮
 23
 24
 25

julia> A=transpose(reshape(A, 5,5))
5×5 LinearAlgebra.Transpose{Int64,Array{Int64,2}}:
  1   2   3   4   5
  6   7   8   9  10
 11  12  13  14  15
 16  17  18  19  20
 21  22  23  24  25

julia> h1=heatmap(A)

julia> savefig(h1, "heatmap1.png")

heatmap1.png

그런데 배열 A와 히트맵 이미지를 비교해보면 알겠지만 배열의 위 아래가 뒤집힌 꼴로 히트맵 이미지가 만들어진다. 출력 이미지가 이렇게 만들어지는 이유는 각 성분의 위치를 행과 열이 아니라 직교좌표계의 좌표로 생각해서라는게 생새우피셜이다. 즉 위 행렬 $A$로 예를 들면 19라는 값은 4행 4열의 성분이 아니라 직교좌표 $(4,4)$의 성분이라고 보는 것이다. 그러면 행렬과 이미지가 서로 위아래로 뒤집혀있는 이유가 설명이 된다.

따라서 배열과 같은 모습으로 출력되게 하려면 yflip=true 옵션 추가하면 된다.

julia> h2=heatmap(A, yflip=true)

julia> savefig(h2, "heatmap2.png")

heatmap2.png

또한 매트랩에 익숙한 사용자는 color=:bgy 옵션을 사용하면 매트랩의 기본 색상과 비슷하게 출력된다.

julia> h3=heatmap(A, yflip=true, color=:bgy)

julia> savefig(h3, "heatmap3.png")

heatmap3.png

색깔 테마

사용할 수 있는 색깔 테마로는 다음과 같은 것들이 있다.

3.png

2.png

같이보기

환경

댓글