Рецепти для Series

Вступ до візуалізації даних у 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...