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

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

how to plot and save arrays as heatmap images in julia

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

같이보기

환경

  • OS: Windows10
  • Version: 1.5.3 (2020-11-09)
댓글