DataFrame로 여러 플롯 만들기

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

Gustavo Vieira Suñe

Data Analyst

하나의 플롯에 여러 변수

# Violin plot
@df insurance violin(
    :Sex, :Charges,
    label=false, linewidth=0,
    fillcolor=:grey40
)

# Add box plot @df insurance boxplot!( :Sex, :Charges, label=false, alpha=0.75, fillcolor=:mediumorchid3, outliers=false, ) ylabel!("Insurance Premium (USD)")

성별에 따른 보험 청구액 분포를 박스플롯과 바이올린 플롯을 겹쳐 표시.

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

범주형 데이터와 레이아웃

  • insurance DataFrame
Age Sex BMI Children Smoker Region Charges
19 female 27.90 0 yes southwest 16884.90
18 male 33.77 1 no southeast 1725.55
28 male 33.00 3 no southeast 4449.46
... ... ... ... ... ... ...
  • 범주형 열 → 나란히 플롯 시각화
    • @df 레시피는 layout 인자와 호환됩니다!
Julia로 시작하는 데이터 시각화

DataFrame과 레이아웃

@df insurance violin(
    :Sex,
    :Charges,
    group=:Region,
    linewidth=0,
    color=[:red :green :blue :purple],
    legend_position=:top,

# Set layout layout=(2,2)
) ylims!(0, 6*10^4) ylabel!("Premium (USD)")

각 지역별로 성별에 따른 보험 청구액 분포를 보여주는 2x2 박스플롯 그리드.

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

체인 추가하기

@chain insurance begin
    # Smoker 열을 숫자로 변환
    transform(:Smoker
        => ByRow(x -> x == "yes" ? 100 : 0)
        => :Smoker)

groupby([:Sex, :Children]) combine(:Smoker => mean)
@df bar(:Children, :Smoker_mean, group=:Sex, linewidth=0, fillcolor=[:cyan4 :chocolate2], # Set layout layout=2)
end ylims!(0, 35) xlabel!("Children") ylabel!("Percentage of Smokers")

흡연자 비율 대 자녀 수를 보여주는 1x2 막대 차트 그리드.

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

상관행렬 플롯

2x2 플롯 그리드. 대각선에는 연령과 BMI 분포의 히스토그램이 있습니다. 주대각선 위에는 연령 대 BMI의 2차원 히스토그램, 아래에는 같은 변수의 산점도가 있습니다.

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

상관행렬 플롯

2x2 플롯 그리드. 대각선에는 연령과 BMI 분포의 히스토그램이 있습니다. 주대각선 위에는 연령 대 BMI의 2차원 히스토그램, 아래에는 같은 변수의 산점도가 있습니다.

  • 대각선

    • 변수 분포 히스토그램
  • 대각선 위

    • 2차원 히스토그램
  • 대각선 아래

    • 회귀선을 포함한 산점도
Julia로 시작하는 데이터 시각화

StatsPlots.jl의 상관행렬 플롯

# Using DataFrames recipe
@df insurance corrplot(

# Numerical columns [:Age :BMI],
# Customize markercolor=:thermal, fillcolor=:acton )

2x2 플롯 그리드. 대각선에는 연령과 BMI 분포의 히스토그램이 있습니다. 주대각선 위에는 연령 대 BMI의 2차원 히스토그램, 아래에는 같은 변수의 산점도가 있습니다.

1 https://docs.juliaplots.org/latest/generated/colorschemes/
Julia로 시작하는 데이터 시각화

StatsPlots.jl의 상관행렬 플롯

# Using DataFrames recipe
@df insurance corrplot(
    # Numerical columns
    [:Age :BMI :Children :Charges],

# Customize markercolor=:thermal, fillcolor=:acton )

연령, BMI, 자녀 수, 보험 청구액의 상관행렬 플롯.

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

연습해 봅시다!

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

Preparing Video For Download...