logo

줄리아 Plots에서 그래프 요소의 색상 지정하는 방법 📂줄리아

줄리아 Plots에서 그래프 요소의 색상 지정하는 방법

요약

Plots.jl에서 그래프 각 구성 요소들의 색상을 지정하는 키워드는 다음과 같다.

키워드기능
markercolor, mc마커 내부 색상 지정
markerstrokecolor, msc마커 테두리 색상 지정
linecolor, lc선 색상 지정
fillcolor, fc면적 색상 지정
seriescolor, c모든 요소의 색상 지정
키워드기능
markeralpha, ma, 마커 내부 투명도 지정
markerstrokealpha, msa, msα마커 테두리 투명도 지정
linealpha, la, 선 투명도 지정
fillalpha, fa, 면적 투명도 지정
seriesalpha, a, α모든 요소의 투명도 지정

색깔

Plots.jl에서 그래프의 색상을 변경할 수 있는 대상은 점, 선, 면 세가지가 있다. 각각의 색상을 지정하는 키워드 인수는 markercolor(=mc)linecolor(=lc) 그리고 fillcolor(=fc)이다. 이 키워드로 지정된 속성은 서로 영향을 주지 않기 때문에 선 그래프를 그려놓고 mc = :red를 입력해도 선 색깔이 빨강으로 적용되지 않는다. 실제로 p = plot(rand(10), mc = :red)의 프로퍼티를 확인해보면 다음과 같다.

julia> p = plot(rand(10), mc = :red)

julia> p.series_list[1][:linecolor]
RGBA{Float64}(0.0,0.6056031611752245,0.9786801175696073,1.0)

julia> p.series_list[1][:markercolor]
RGBA{Float64}(1.0,0.0,0.0,1.0)

플랏된 선 그래프의 선색깔은 빨강이 아니라 여전히 기본 색이다.

그래서 여러개의 서브플랏을 그리고 위의 세 키워드로 색상을 지정하면 각각에 적용된다. 점(마커)에 보라색 :purple, 선에 초록색 :darkgreen, 면에 하늘색 :skyblue를 입혀보면 다음과 같다.

st = [:line :scatter :barhist :steppre :scatterhist :bar]

x = rand(20)
y = repeat(x, outer = (1, length(st)))

plot(y, seriestype = st, layout = 6, 
    mc = :purple,
    lc = :darkgreen,
    fc = :skyblue
)

투명도

색의 투명도를 결정하는 키워드는 색상을 지정하는 키워드 이름에서 color 대신 alpha를 붙인 것이다. 그리스 문자 α를 직접 사용해도 된다.

혹은 RGBA와 같이 색상 자체에 투명도가 포함된 색상 코드를 색을 지정하는 키워드에 입력해도 된다.

plot(rand(20, 3), layout = (3,1), seriestype = [:scatter :line :bar],
    mc = :red,
    lc = :green,
    fc = :blue
)

plot(rand(20, 3), layout = (3,1), seriestype = [:scatter :line :bar],
    markeralpha = 0.5, mc = :red,
    la = 0.5,          lc = :green,
    fα = 0.5,         fc = :blue
)

환경

  • OS: Windows11
  • Version: Julia 1.9.4, Plots v1.39.0

같이 보기