Meerdere plots uit DataFrames

Introductie tot datavisualisatie met Julia

Gustavo Vieira Suñe

Data Analyst

Meerdere variabelen in één plot

# Violin plot
@df insurance violin(
    :Sex, :Charges,
    label=false, linewidth=0,
    fillcolor=:grey40
)

# Add box plot @df insurance boxplot!( :Sex, :Charges, label=false, alpha=0.75, fillcolor=:mediumorchid3, outliers=false, ) ylabel!("Insurance Premium (USD)")

Een boxplot en violingrafiek over elkaar, met de verdeling van verzekeringskosten per geslacht.

Introductie tot datavisualisatie met Julia

Categorische data en layouts

  • insurance DataFrame
Age Sex BMI Children Smoker Region Charges
19 female 27.90 0 yes southwest 16884.90
18 male 33.77 1 no southeast 1725.55
28 male 33.00 3 no southeast 4449.46
... ... ... ... ... ... ...
  • Categorische kolom → vergelijkende plots naast elkaar
    • @df-recept werkt met het layout-argument!
Introductie tot datavisualisatie met Julia

Layouts met DataFrames

@df insurance violin(
    :Sex,
    :Charges,
    group=:Region,
    linewidth=0,
    color=[:red :green :blue :purple],
    legend_position=:top,

# Set layout layout=(2,2)
) ylims!(0, 6*10^4) ylabel!("Premium (USD)")

Een raster van 2×2 boxplots met de verdeling van verzekeringskosten per geslacht voor elke regio.

Introductie tot datavisualisatie met Julia

Chains toevoegen aan de mix

@chain insurance begin
    # Smoker column to numeric
    transform(:Smoker
        => ByRow(x -> x == "yes" ? 100 : 0)
        => :Smoker)

groupby([:Sex, :Children]) combine(:Smoker => mean)
@df bar(:Children, :Smoker_mean, group=:Sex, linewidth=0, fillcolor=[:cyan4 :chocolate2], # Set layout layout=2)
end ylims!(0, 35) xlabel!("Children") ylabel!("Percentage of Smokers")

Een raster van 1×2 staafdiagrammen met het percentage rokers versus aantal kinderen.

Introductie tot datavisualisatie met Julia

Correlatiematrix-plots

Een raster van 2×2 plots. Op de diagonaal staan histogrammen van de verdelingen van leeftijd en BMI. Boven de diagonaal staat een 2D-histogram van leeftijd versus BMI en onder de diagonaal een spreidingsplot van dezelfde variabelen.

Introductie tot datavisualisatie met Julia

Correlatiematrix-plots

Een raster van 2×2 plots. Op de diagonaal staan histogrammen van de verdelingen van leeftijd en BMI. Boven de diagonaal staat een 2D-histogram van leeftijd versus BMI en onder de diagonaal een spreidingsplot van dezelfde variabelen.

  • Diagonalen

    • Histogrammen van variabeleverdelingen
  • Boven diagonaal

    • Twee-dimensionale histogrammen
  • Onder diagonaal

    • Spreidingsplots met regressielijnen
Introductie tot datavisualisatie met Julia

Correlatiematrix-plots in StatsPlots.jl

# Using DataFrames recipe
@df insurance corrplot(

# Numerical columns [:Age :BMI],
# Customize markercolor=:thermal, fillcolor=:acton )

Een raster van 2×2 plots. Op de diagonaal staan histogrammen van de verdelingen van leeftijd en BMI. Boven de diagonaal staat een 2D-histogram van leeftijd versus BMI en onder de diagonaal een spreidingsplot van dezelfde variabelen.

1 https://docs.juliaplots.org/latest/generated/colorschemes/
Introductie tot datavisualisatie met Julia

Correlatiematrix-plots in StatsPlots.jl

# Using DataFrames recipe
@df insurance corrplot(
    # Numerical columns
    [:Age :BMI :Children :Charges],

# Customize markercolor=:thermal, fillcolor=:acton )

Een correlatiematrix-plot van leeftijd, BMI, aantal kinderen en verzekeringskosten.

Introductie tot datavisualisatie met Julia

Laten we oefenen!

Introductie tot datavisualisatie met Julia

Preparing Video For Download...