Przepisy dla serii

Wprowadzenie do wizualizacji danych w Julii

Gustavo Vieira Suñe

Data Analyst

Dostosowywanie wykresu

# 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")

Poziomy wykres skrzypcowy poziomów bezsenności względem ulubionego gatunku muzyki.

Wprowadzenie do wizualizacji danych w Julii

Serie w Plots.jl

  • Zbiór punktów o wspólnych właściwościach wykreślania
    • Punkty plot(x, y) tworzą serię typu :line
  • Wiele typów serii, m.in. :line, :scatter, :histogram, :density, :bar
  • Wykres może zawierać wiele serii
    • scatter(x, [y1 y2]) tworzy dwie serie typu :scatter
    • Każda kolumna to osobna seria
  • Plots.jl stosuje osobny przepis dla każdego typu serii
    • Można tworzyć własne, niestandardowe przepisy!
Wprowadzenie do wizualizacji danych w Julii

Wszystko to tylko 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")

Poziomy wykres skrzypcowy poziomów bezsenności względem ulubionego gatunku muzyki.

Wprowadzenie do wizualizacji danych w Julii

Własne przepisy dla serii

@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}} definiuje my_hviolin jako nazwę przepisu dla serii

  • x, y, z reprezentują dane serii

  • seriestype określa typ serii użyty w przepisie

  • Argumenty dostosowania ustawiane przez :=

Wprowadzenie do wizualizacji danych w Julii

Użycie własnego przepisu dla serii

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

xlabel!("Self-Reported Insomnia")

Poziomy wykres skrzypcowy poziomów bezsenności względem ulubionego gatunku muzyki.

Wprowadzenie do wizualizacji danych w Julii

Użycie własnego przepisu dla serii

# Define my_hviolin function
@shorthands my_hviolin

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

Poziomy wykres skrzypcowy poziomów bezsenności względem ulubionego gatunku muzyki.

Wprowadzenie do wizualizacji danych w Julii

Ten sam przepis, inne dane

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

Poziomy wykres skrzypcowy poziomów OCD względem ulubionego gatunku muzyki.

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

Poziomy wykres skrzypcowy poziomów lęku względem ulubionego gatunku muzyki.

Wprowadzenie do wizualizacji danych w Julii

Przepisy dla wykresów

  • Wiele serii

Siatka wykresów 1×2. Pokazuje wykres skrzypcowy i pudełkowy BPM względem ulubionego gatunku.

1 https://docs.juliaplots.org/latest/recipes/
Wprowadzenie do wizualizacji danych w Julii

Czas na ćwiczenia!

Wprowadzenie do wizualizacji danych w Julii

Preparing Video For Download...