줄리아에서 히트맵 위에 플랏 겹쳐서 그리는 방법
코드
우리가 배열의 히트맵 위에 부터 까지의 사인 곡선을 그리고 싶다고 하자. 다음과 같은 코드로 짜고 싶겠지만 그림에서 보이듯 원하는 대로 출력되지 않는다.
using Plots
A = rand(Bool, 5,5)
heatmap(A, color=:greens)
x = range(0, 2pi, length=100)
y = sin.(x)
plot!(x, y, color=:red, width=3)
이는 배열 의 가로, 세로의 범위가 에서 까지로 인식되기 때문이다. 이를 해결하기 위해 아래과 같은 코드로 의 가로, 세로 범위가 각각 어디부터 어디까지인지 지정해주면 된다. 참고로 배열 의 범위를 지정하지 않고, 히트맵이 보여지는 범위만 지정하면 아래의 (나)처럼 출력된다.
xₐ = range(0,2pi, length=5)
yₐ = range(-1.5,1.5, length=5)
p1 = heatmap(xₐ, yₐ, A, color=:greens, xlims=(0,2pi), ylims=(-1.5,1.5)) #그림 (가)
p2 = heatmap(A, color=:greens, xlims=(0,2pi), ylims=(-1.5,1.5)) #그림 (나)
이제 p1
위에 사인 곡선을 다시 그리면 원하는대로 제대로 그려진다.
plot!(x, y, color=:red, width=3)
환경
- OS: Windows10
- Version: Julia 1.7.1, Plots 1.25.3