Efficiënte visualisaties met lay-outs

Introductie tot datavisualisatie met Julia

Gustavo Vieira Suñe

Data Analyst

Lay-outs

  • Meerdere curves in één figuur

Een dichtheidsplot met de leeftijdsverdeling, gegroepeerd naar K-pop-luisterfrequentie, één curve per categorie in dezelfde figuur.

  • Plotraster (layout)

Een raster van twee-op-twee dichtheidsplots met de leeftijdsverdeling, één plot per K-pop-luisterfrequentie. De lijnkleur verschilt per plot.

Introductie tot datavisualisatie met Julia

Het raster

using StatsPlots, DataFrames, CSV

# Dataset laden
streaming = DataFrame(
    CSV.File("streaming.csv")
)

# Maak dichtheidsplot density( streaming.Age, group=streaming."Frequency [K pop]", linewidth=2.5,
# Stel layout in layout=4, )

Een raster van twee-op-twee dichtheidsplots met de leeftijdsverdeling, één plot per K-pop-luisterfrequentie. Alle lijnen hebben dezelfde kleur.

Introductie tot datavisualisatie met Julia

Rasterelementen aanpassen

using Colors

# Kleuren van het Julia-logo
logocolors = Colors.JULIA_LOGO_COLORS
colors = [logocolors.blue logocolors.red
    logocolors.green logocolors.purple]

density( streaming.Age, group=streaming."Frequency [K pop]", linewidth=2.5, layout=4, # Lijnkleuren linecolor=colors, )

Een raster van twee-op-twee dichtheidsplots met de leeftijdsverdeling, één plot per K-pop-luisterfrequentie. De lijnkleur verschilt per plot.

Introductie tot datavisualisatie met Julia

Het raster regelen

density(
    streaming.Age,
    group=streaming."Frequency [K pop]",
    linewidth=2.5,
    linecolor=colors,

# Layout dimensions layout=(4, 1),
# As-labels xlabel=["" "" "" "Age"], ylabel="Probability", )
# As-grenzen xlims!(10, 80) ylims!(0, 0.2)

Een raster van vier-op-één dichtheidsplots met de leeftijdsverdeling, één plot per luisterfrequentie van K-pop. De lijnkleur verschilt per plot.

Introductie tot datavisualisatie met Julia

Geavanceerde lay-outs

Een plotraster. Bovenaan twee boxplots: leeftijd en angstniveau per streamingdienst. Onderaan drie histogrammen met de leeftijdsverdeling per dienst.

Introductie tot datavisualisatie met Julia

Stapsgewijs

theme(:wong)
# Kies kleuren
colors = [:purple :green3 :firebrick1]


# Eerste boxplot p1 = boxplot(streaming."Streaming service", streaming.Age,
# Groepeer per streamingdienst group=streaming."Streaming service", color=colors,
label=false, ylabel="Age", # Verwijder uitschieters outliers=false)

Een boxplot met de leeftijdsverdeling per streamingdienst.

Introductie tot datavisualisatie met Julia

Stapsgewijs

# Tweede boxplot
p2 = boxplot(
    streaming."Streaming service",
    streaming.Anxiety,
    # Groepeer per streamingdienst
    group=streaming."Streaming service",
    color=colors,
    label=false,
    ylabel="Anxiety",
    # Verwijder uitschieters
    outliers=false,
)

Een boxplot met de verdeling van angstniveaus per streamingdienst.

Introductie tot datavisualisatie met Julia

Stapsgewijs

# Histogrammen
p3 = histogram(
    streaming.Age,
    group=streaming."Streaming service",
    color=colors,
    # Verwijder lijnen
    linewidth=0,

# Stel layout in layout=(1, 3),
xlabel="Age", # Stel y-aslabels in ylabel=["Frequency" "" ""] )

Drie histogrammen met de leeftijdsverdeling per streamingdienst.

Introductie tot datavisualisatie met Julia

Plots samenvoegen

# Kies layout
layout = @layout [a b; c]

Een figuur met de layout-structuur van de plot.

# Combineer de plots
plot(p1, p2, p3, layout=layout)

Een plotraster. Bovenaan twee boxplots: leeftijd en angstniveau per streamingdienst. Onderaan drie histogrammen met de leeftijdsverdeling per dienst.

Introductie tot datavisualisatie met Julia

Laten we oefenen!

Introductie tot datavisualisatie met Julia

Preparing Video For Download...