序列配方

Julia 資料視覺化入門

Gustavo Vieira Suñe

Data Analyst

自訂化圖表

# Create a violin plot
violin(
    streaming.Fav_genre,
    streaming.Insomnia,
    framestyle=:grid, label=false,
    linewidth=0,

# Fill properties fillcolor=:purple, fillalpha=0.75,
# Permute the axes permute=(:x, :y),
# Remove grid lines grid=:off, )
xlabel!("Self-Reported Insomnia")

水平小提琴圖:失眠程度對最愛音樂類型。

Julia 資料視覺化入門

Plots.jl 序列

  • 共享相同繪圖屬性的一組點
    • plot(x, y) 的點是一種 :line 類型的序列
  • 多種序列類型::line:scatter:histogram:density:bar
  • 一張圖可以包含多個序列
    • scatter(x, [y1 y2]) 有兩個 :scatter 類型的序列
    • 每一欄都是一個序列
  • Plots.jl 針對每種序列類型都有不同的配方
    • 你也可以自訂自己的配方!
Julia 資料視覺化入門

最後都還是 plot

# Create a violin plot
plot(
    streaming.Fav_genre,
    streaming.Insomnia,
    framestyle=:grid, label=false,
    linewidth=0,
    fillcolor=:purple,
    fillalpha=0.75,
    permute=(:x, :y),
    grid=:off,

# Specify series type seriestype=:violin, )
xlabel!("Self-Reported Insomnia")

水平小提琴圖:失眠程度對最愛音樂類型。

Julia 資料視覺化入門

自訂序列配方

@recipe function f(
    ::Type{Val{:my_hviolin}}, x, y, z
)

# Series type seriestype := :violin
# Customization options framestyle := :grid label := false linewidth := 0 fillcolor := :purple fillalpha := 0.75 permute := (:x, :y) end
  • ::Type{Val{:my_hviolin}} 定義 my_hviolin 為序列配方名稱

  • x, y, z 代表序列資料

  • seriestype 指定配方所用的序列類型

  • 客製化參數用 := 設定

Julia 資料視覺化入門

使用自訂序列配方

# Use recipe
plot(
    streaming.Fav_genre,
    streaming.Insomnia,
    # Specify series recipe
    seriestype=:my_hviolin,
)

xlabel!("Self-Reported Insomnia")

水平小提琴圖:失眠程度對最愛音樂類型。

Julia 資料視覺化入門

使用自訂序列配方

# Define my_hviolin function
@shorthands my_hviolin

# Use recipe my_hviolin( streaming.Fav_genre, streaming.Insomnia ) xlabel!("Self-Reported Insomnia")

水平小提琴圖:失眠程度對最愛音樂類型。

Julia 資料視覺化入門

同一配方,不同資料

my_hviolin(streaming.Fav_genre,
    streaming.OCD)
xlabel!("Self-Reported OCD")

水平小提琴圖:強迫症程度對最愛音樂類型。

my_hviolin(streaming.Fav_genre,
    streaming.Anxiety)
xlabel!("Self-Reported Anxiety")

水平小提琴圖:焦慮程度對最愛音樂類型。

Julia 資料視覺化入門

圖表配方

  • 多個序列

1×2 圖格:顯示 BPM 與最愛類型的提琴圖與盒鬚圖。

1 https://docs.juliaplots.org/latest/recipes/
Julia 資料視覺化入門

一起來練習吧!

Julia 資料視覺化入門

Preparing Video For Download...