更多維度的繪圖

Julia 資料視覺化入門

Gustavo Vieira Suñe

Data Analyst

為什麼要用更多維度?

  • 辨識潛在模式與趨勢
  • 同時分析多個變數的關係
  • 找出叢集
  • 呈現更清楚、更沉浸
  • 特徵工程
Julia 資料視覺化入門

叢集會持續嗎?

一張散佈圖,顯示保費與要保人年齡的關係,可見三個明顯的叢集。

  • 這些叢集在不同子女數下也存在嗎?
Julia 資料視覺化入門

繪製某一切片

theme(:bright)

# Filter data
no_children = filter(
    row -> row.Children == 0, insurance)

# Plot a slice @df no_children scatter( :Age, :Charges, group=:Smoker, markersize=4, alpha=0.5, legend_title="Smoker") xlabel!("Age") ylabel!("Insurance Premium (USD)")

一張散佈圖,顯示無子女人員的保費與年齡關係,可見三個明顯的叢集。

Julia 資料視覺化入門

加入另一個維度

theme(:bright)
@df insurance scatter(
    # Pass three columns
    :Children,
    :Age,
    :Charges,

group=:Smoker, markersize=4, alpha=0.5, legend_title="Smoker" ) # Axis labels xlabel!("Number of Children") ylabel!("Age") zlabel!("Insurance Premium (USD)")

一張三維散佈圖,顯示保費相對於年齡與子女數的關係。不同子女數的點呈現相同的叢集結構。

Julia 資料視覺化入門

座標軸順序

theme(:bright)
@df insurance scatter(

# Swap :Age and :Children :Age, :Children, :Charges, group=:Smoker, markersize=4, alpha=0.5, legend_title="Smoker" ) # Axis labels xlabel!("Number of Children") ylabel!("Age") zlabel!("Insurance Premium (USD)")

Julia 資料視覺化入門

依另一個類別分組

一張散佈圖,顯示保費與身體質量指數的關係,點的顏色依吸菸狀態區分。

  • 能同時依吸菸狀態與性別分組嗎?
Julia 資料視覺化入門

加入類別型維度

theme(:vibrant)

@df insurance scatter(
    :BMI,

# Pass categorical column :Sex,
:Charges, group=:Smoker, markersize=2, legend_title="Smoker", color=[:blueviolet :goldenrod1]) xlabel!("BMI") zlabel!("Insurance Premium (USD)")

一張三維散佈圖,顯示保費相對於身體質量指數與性別的關係,點的顏色依吸菸狀態區分。

Julia 資料視覺化入門

視覺化點密度

一張散佈圖,顯示保費與身體質量指數的關係,點的顏色依吸菸狀態區分。

  • 能更清楚地視覺化點的密度嗎?
Julia 資料視覺化入門

二維長條密度圖

# 2d histogram
@df insurance histogram2d(

:BMI, :Charges,
# Fill color scheme fillcolor=:acton,
# Fill empty bins show_empty_bins=true,
) xlabel!("Age") ylabel!("Insurance Premium (USD)")

一張二維長條密度圖,呈現保費與身體質量指數的分布。

Julia 資料視覺化入門

一起來練習吧!

Julia 資料視覺化入門

Preparing Video For Download...