Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Creazione di Grafici a Violino | Sezione
Visualizzazione Statistica con Seaborn

bookCreazione di Grafici a Violino

Un violinplot è un ibrido tra un box plot e un kernel density plot (KDE).

Mentre un boxplot mostra solo statistiche riassuntive (mediana, quartili), un violinplot rivela la distribuzione completa dei dati. La "larghezza" del violino in un dato punto rappresenta la densità (quanti dati sono presenti).

Parametri principali

  • split=True: se si dispone di una variabile hue con esattamente due categorie (ad esempio, "Male"/"Female"), questo parametro disegna una categoria sulla metà sinistra del violino e l'altra sulla metà destra. Questo rende il confronto estremamente semplice;
  • inner: controlla ciò che viene disegnato all'interno del violino;
  • 'box' (predefinito): disegna un mini boxplot;
  • 'point': disegna i singoli punti dati;
  • 'quartile': disegna le linee per il 25°, 50° e 75° percentile;
  • bw (bandwidth): controlla la morbidezza della curva (come nel KDE). Un numero più piccolo rivela più dettagli (e rumore); un numero più grande la rende più liscia.

Esempio

Ecco un violinplot che mostra la distribuzione di total_bill. Nota come split=True consenta di confrontare "Smokers" e "Non-Smokers" all'interno dello stesso violino.

123456789101112131415161718
import seaborn as sns import matplotlib.pyplot as plt # Load dataset df = sns.load_dataset('tips') # Create a split violinplot sns.violinplot( data=df, x='day', y='total_bill', hue='smoker', split=True, # Compare sides directly inner='quartile', # Show quartile lines palette='muted' ) plt.show()
copy
Compito

Swipe to start coding

Creare una visualizzazione dettagliata dei dati sui suggerimenti.

  1. Importare le librerie necessarie e leggere il dataset tips.csv.
  2. Creare un violinplot e assegnare il risultato a una variabile chiamata g (questo cattura l'oggetto Axes del grafico):
  • Mappare 'day' su x e 'total_bill' su y.
  • Raggruppare per 'sex' utilizzando hue.
  • Utilizzare la palette 'rocket'.
  • Suddividere i violini per confrontare i generi fianco a fianco (split=True).
  • Mostrare i singoli punti dati all'interno impostando inner='point'.
  • Impostare la larghezza di banda di smoothing bw a 0.2.
  1. Impostare il titolo del grafico su 'Tips violinplot' utilizzando la variabile g (ad esempio, g.set_title(...)).
  2. Visualizzare il grafico.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 12
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

bookCreazione di Grafici a Violino

Scorri per mostrare il menu

Un violinplot è un ibrido tra un box plot e un kernel density plot (KDE).

Mentre un boxplot mostra solo statistiche riassuntive (mediana, quartili), un violinplot rivela la distribuzione completa dei dati. La "larghezza" del violino in un dato punto rappresenta la densità (quanti dati sono presenti).

Parametri principali

  • split=True: se si dispone di una variabile hue con esattamente due categorie (ad esempio, "Male"/"Female"), questo parametro disegna una categoria sulla metà sinistra del violino e l'altra sulla metà destra. Questo rende il confronto estremamente semplice;
  • inner: controlla ciò che viene disegnato all'interno del violino;
  • 'box' (predefinito): disegna un mini boxplot;
  • 'point': disegna i singoli punti dati;
  • 'quartile': disegna le linee per il 25°, 50° e 75° percentile;
  • bw (bandwidth): controlla la morbidezza della curva (come nel KDE). Un numero più piccolo rivela più dettagli (e rumore); un numero più grande la rende più liscia.

Esempio

Ecco un violinplot che mostra la distribuzione di total_bill. Nota come split=True consenta di confrontare "Smokers" e "Non-Smokers" all'interno dello stesso violino.

123456789101112131415161718
import seaborn as sns import matplotlib.pyplot as plt # Load dataset df = sns.load_dataset('tips') # Create a split violinplot sns.violinplot( data=df, x='day', y='total_bill', hue='smoker', split=True, # Compare sides directly inner='quartile', # Show quartile lines palette='muted' ) plt.show()
copy
Compito

Swipe to start coding

Creare una visualizzazione dettagliata dei dati sui suggerimenti.

  1. Importare le librerie necessarie e leggere il dataset tips.csv.
  2. Creare un violinplot e assegnare il risultato a una variabile chiamata g (questo cattura l'oggetto Axes del grafico):
  • Mappare 'day' su x e 'total_bill' su y.
  • Raggruppare per 'sex' utilizzando hue.
  • Utilizzare la palette 'rocket'.
  • Suddividere i violini per confrontare i generi fianco a fianco (split=True).
  • Mostrare i singoli punti dati all'interno impostando inner='point'.
  • Impostare la larghezza di banda di smoothing bw a 0.2.
  1. Impostare il titolo del grafico su 'Tips violinplot' utilizzando la variabile g (ad esempio, g.set_title(...)).
  2. Visualizzare il grafico.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 12
single

single

some-alt