레이아웃으로 효율적인 시각화

Julia로 시작하는 데이터 시각화

Gustavo Vieira Suñe

Data Analyst

레이아웃

  • 한 그림에 여러 커브

K-Pop 청취 빈도별로 그룹화한 연령 분포 커브가 한 그림에 카테고리별로 표시됩니다.

  • 플롯 그리드(layout)

K-Pop 청취 빈도별로 나눈 연령 분포가 2x2 그리드로 표시됩니다. 각 플롯의 선 색이 다릅니다.

Julia로 시작하는 데이터 시각화

그리드

using StatsPlots, DataFrames, CSV

# 데이터셋 불러오기
streaming = DataFrame(
    CSV.File("streaming.csv")
)

# 밀도 플롯 생성 density( streaming.Age, group=streaming."Frequency [K pop]", linewidth=2.5,
# 레이아웃 설정 layout=4, )

K-Pop 청취 빈도별로 나눈 연령 분포가 2x2 그리드로 표시됩니다. 모든 플롯의 선 색은 동일합니다.

Julia로 시작하는 데이터 시각화

그리드 요소 사용자 지정

using Colors

# Julia 로고 색상
logocolors = Colors.JULIA_LOGO_COLORS
colors = [logocolors.blue logocolors.red
    logocolors.green logocolors.purple]

density( streaming.Age, group=streaming."Frequency [K pop]", linewidth=2.5, layout=4, # 선 색상 linecolor=colors, )

K-Pop 청취 빈도별로 나눈 연령 분포가 2x2 그리드로 표시됩니다. 각 플롯의 선 색이 다릅니다.

Julia로 시작하는 데이터 시각화

그리드 레이아웃 제어

density(
    streaming.Age,
    group=streaming."Frequency [K pop]",
    linewidth=2.5,
    linecolor=colors,

# 레이아웃 크기 layout=(4, 1),
# 축 레이블 xlabel=["" "" "" "Age"], ylabel="Probability", )
# 축 범위 xlims!(10, 80) ylims!(0, 0.2)

네 개의 K-Pop 청취 빈도별로 나눈 연령 분포 커브가 4x1 그리드에 표시됩니다. 각 플롯의 선 색이 다릅니다.

Julia로 시작하는 데이터 시각화

고급 레이아웃

플롯 그리드. 상단 행에는 스트리밍 서비스별 연령과 불안 수준의 박스플롯 2개가 있고, 하단 행에는 각 스트리밍 서비스의 연령 분포 히스토그램 3개가 있습니다.

Julia로 시작하는 데이터 시각화

단계별 진행

theme(:wong)
# 색상 선택
colors = [:purple :green3 :firebrick1]


# 첫 번째 박스플롯 p1 = boxplot(streaming."Streaming service", streaming.Age,
# 스트리밍 서비스로 그룹화 group=streaming."Streaming service", color=colors,
label=false, ylabel="Age", # 이상치 제거 outliers=false)

스트리밍 서비스별 연령 분포를 보여주는 박스플롯.

Julia로 시작하는 데이터 시각화

단계별 진행

# 두 번째 박스플롯
p2 = boxplot(
    streaming."Streaming service",
    streaming.Anxiety,
    # 스트리밍 서비스로 그룹화
    group=streaming."Streaming service",
    color=colors,
    label=false,
    ylabel="Anxiety",
    # 이상치 제거
    outliers=false,
)

스트리밍 서비스별 불안 수준 분포를 보여주는 박스플롯.

Julia로 시작하는 데이터 시각화

단계별 진행

# 히스토그램
p3 = histogram(
    streaming.Age,
    group=streaming."Streaming service",
    color=colors,
    # 선 제거
    linewidth=0,

# 레이아웃 설정 layout=(1, 3),
xlabel="Age", # y축 레이블 설정 ylabel=["Frequency" "" ""] )

각 스트리밍 서비스의 연령 분포를 보여주는 히스토그램 3개.

Julia로 시작하는 데이터 시각화

플롯 결합하기

# 레이아웃 선택
layout = @layout [a b; c]

플롯의 레이아웃 구조를 보여주는 그림.

# 플롯 결합
plot(p1, p2, p3, layout=layout)

플롯 그리드. 상단 행에는 스트리밍 서비스별 연령과 불안 수준의 박스플롯 2개가 있고, 하단 행에는 각 스트리밍 서비스의 연령 분포 히스토그램 3개가 있습니다.

Julia로 시작하는 데이터 시각화

Ayo berlatih!

Julia로 시작하는 데이터 시각화

Preparing Video For Download...