Articles

seaborn.histplot¶

seaborn.histplot(data=None, *, x=Nessuno, y=None, hue=None, pesi=None, stat=’count’, bidoni=’auto’, binwidth=None, binrange=None, discreto=None, cumulativo=False, common_bins=True, common_norm=True, più=’livello’, elemento=’bar’, compila=True, shrink=1, kde=False, kde_kws=None, line_kws=None, trebbia=0, pthresh=None, pmax=None, cbar=False, cbar_ax=None, cbar_kws=None, tavolozza=None, hue_order=None, hue_norm=None color=Nessuno, log_scale=None, legend=True, ax=None, **kwargs)¶

Trama univariata o bivariata istogrammi per mostrare le distribuzioni di set di dati.

Un istogramma è un classico strumento di visualizzazione che rappresenta la distribuzione di una o più variabili contando il numero di osservazioni che cadono all’interno di bidoni specifici.

Questa funzione può normalizzare la statistica calcolata all’interno di ciascun bin per stimare la frequenza, la densità o la massa di probabilità e può aggiungere una curva liscia ottenuta utilizzando una stima della densità del kernel, simile a kdeplot().

Ulteriori informazioni sono fornite nella guida per l’utente.

Parametri datipandas.DataFramenumpy.ndarray, mappatura o sequenza

Struttura dati di input. Una raccolta di vettori a forma lunga che può essere assegnata a variabili denominate o un set di dati a forma ampia che verrà configurato internamente.

x, yvectors o chiavi indata

Variabili che specificano le posizioni sugli assi x e y.

huevector o key indata

Variabile semantica mappata per determinare il colore degli elementi della trama.

weightsvector o key indata

Se fornito, ponderare il contributo dei punti dati corrispondenti verso il conteggio in ciascun bin da questi fattori.

stat{“count”, ” frequency”, “density”, “probability”}

Statistica aggregata da calcolare in ogni bin.

  • count mostra il numero di osservazioni

  • frequency mostra il numero di osservazioni divisa per la larghezza di bin

  • density normalizza i conteggi in modo che l’area dell’istogramma è 1

  • probability normalizza conta in modo che la somma dei bar heights è 1

binsstr, numero, vettoriale, o un paio di tali valori

Generico bin parametro che può essere il nome di una regola di riferimento,il numero di contenitori, o le interruzioni dei bidoni.Passato a numpy.histogram_bin_edges().

binwidthnumber o pair of numbers

Width of each bin, sostituiscebins ma può essere utilizzato conbinrange.

binrangepair di numeri o una coppia di coppie

Valore più basso e più alto per i bordi bin; può essere utilizzato sia conbins obinwidth. Il valore predefinito è Estremi dati.

discretebool

Se True, predefinito subinwidth=1 e disegna le barre in modo che siano centrate sui loro punti dati corrispondenti. Ciò evita “lacune” che potrebbero apparire quando si utilizzano dati discreti (interi).

cumulativebool

Se True, tracciare i conteggi cumulativi all’aumentare dei bin.

common_binsbool

Se True, usa gli stessi bin quando le variabili semantiche producono multipleplots. Se si utilizza una regola di riferimento per determinare i bin, verrà computedwith il set di dati completo.

common_normbool

Se True e utilizzando una statistica normalizzata, la normalizzazione si applicherà al set di dati completo. Altrimenti, normalizza ogni istogramma in modo indipendente.

multiple{“layer”, “dodge”, “stack”, “fill”}

Approccio alla risoluzione di più elementi quando la mappatura semantica crea sottoinsiemi.Rilevante solo con dati univariati.

elemento {“bars”, “step”, “poly”}

Rappresentazione visiva della statistica dell’istogramma.Rilevante solo con dati univariati.

fillbool

Se True, riempire lo spazio sotto l’istogramma.Rilevante solo con dati univariati.

shrinknumber

Ridimensiona la larghezza di ogni barra rispetto al binwidth di questo fattore.Rilevante solo con dati univariati.

kdebool

Se True, calcola una stima della densità del kernel per lisciare la distribuzione e mostrare sul grafico come (una o più) linee.Rilevante solo con dati univariati.

kde_kwsdict

Parametri che controllano il calcolo di KDE, come in kdeplot().

line_kwsdict

Parametri che controllano la visualizzazione di KDE, passati amatplotlib.axes.Axes.plot().

threshnumber o None

Le celle con una statistica minore o uguale a questo valore saranno trasparenti.Rilevante solo con dati bivariati.

pthreshnumber o None

Likethresh, ma un valore in modo tale che le celle con conteggi aggregati(o altre statistiche, se utilizzate) fino a questa proporzione del totale sarannotrasparente.

pmaxnumber o None

Un valore che imposta quel punto di saturazione per la mappa dei colori a un valore tale che le celle sottostanti costituiscano questa proporzione del conteggio totale (oaltra statistica, quando usata).

cbarbool

Se True, aggiungi una barra dei colori per annotare la mappatura dei colori in una trama bivariata.Nota: attualmente non supporta grafici con una variabilehue.

cbar_axmatplotlib.axes.Axes

Assi preesistenti per la barra dei colori.

cbar_kwsdict

Parametri aggiuntivi passati a matplotlib.figure.Figure.colorbar().

palettestring, list, dict omatplotlib.colors.Colormap

Metodo per la scelta dei colori da utilizzare quando si associa la semanticahue.I valori di stringa vengono passati a color_palette(). List o dict valuesimply categorical mapping, mentre un oggetto colormap implica la mappatura numerica.

hue_ordervector of strings

Specifica l’ordine di elaborazione e stampa per i livelli categoriali delhue semantico.

hue_normtuple omatplotlib.colors.Normalize

O una coppia di valori che impostano l’intervallo di normalizzazione in unità di dati o un oggetto che verrà mappato da unità di dati in un intervallo. Usageimplica la mappatura numerica.

colorematplotlib color

Specifica colore singolo per quando la mappatura tonalità non viene utilizzata. Altrimenti, theplot proverà ad agganciarsi al ciclo di proprietà matplotlib.

log_scalebool o number, o pair of bools or numbers

Imposta una scala di log sull’asse dati (o assi, con dati bivariati) con la base data (default 10), e valuta KDE nello spazio log.

legendbool

Se False, sopprimere la legenda per le variabili semantiche.

axmatplotlib.axes.Axes

Assi preesistenti per la trama. In caso contrario, chiamare matplotlib.pyplot.gca()internamente.

kwargs

Altri argomenti delle parole chiave vengono passati a una delle seguenti funzioni matplotlib:

  • matplotlib.axes.Axes.bar() (univariate, element=”bars”)

  • matplotlib.axes.Axes.fill_between() (univariate, other element, fill=True)

  • matplotlib.axes.Axes.plot() (univariate, other element, fill=False)

  • matplotlib.axes.Axes.pcolormesh() (bivariate)

Returnsmatplotlib.axes.Axes

The matplotlib axes containing the plot.

See also

displot

Figure-level interface to distribution plot functions.

kdeplot

Stampa distribuzioni univariate o bivariate usando la stima della densità del kernel.

rugplot

Tracciare un segno di spunta ad ogni valore di osservazione lungo gli assi x e / o y.

ecdfplot

Tracciare le funzioni di distribuzione cumulativa empirica.

jointplot

Disegna un grafico bivariato con distribuzioni marginali univariate.

Note

La scelta di bin per calcolare e tracciare un istogramma può esercitare un’influenza sostanziale sulle intuizioni che si è in grado di trarre dalla visualizzazione. Se i bidoni sono troppo grandi, possono cancellare caratteristiche importanti.D’altra parte, i bidoni troppo piccoli possono essere dominati da randomvariability, oscurando la forma della vera distribuzione sottostante. La dimensione predefinita del bin viene determinata utilizzando una regola di riferimento che dipende dalla dimensione del campione e dalla varianza. Questo funziona bene in molti casi, (cioè con dati “ben educati”) ma fallisce in altri. È sempre un bene da provarediverse dimensioni del bidone per essere sicuri che non ti manca qualcosa di importante.Questa funzione consente di specificare i bin in diversi modi, ad esempio impostando il numero totale di bin da utilizzare, la larghezza di ciascun bin o le posizioni specifiche in cui i bin dovrebbero rompersi.

Esempi

Assegnare una variabile ax per tracciare una distribuzione univariata lungo l’asse x:

penguins = sns.load_dataset("penguins")sns.histplot(data=penguins, x="flipper_length_mm")

../_immagini / istplot_1_0.png

Capovolgere il grafico assegnando la variabile dati all’asse y:

sns.histplot(data=penguins, y="flipper_length_mm")

../_immagini / istplot_3_0.png

Controlla quanto bene l’istogramma rappresenta i dati specificando una larghezza diversa del bin:

sns.histplot(data=penguins, x="flipper_length_mm", binwidth=3)

../_immagini / istplot_5_0.png

È anche possibile definire il numero totale di contenitori da utilizzare:

sns.histplot(data=penguins, x="flipper_length_mm", bins=30)

../_immagini / istplot_7_0.png

Aggiunge una stima della densità del kernel per lisciare l’istogramma, fornendo informazioni complementari sulla forma della distribuzione:

sns.histplot(data=penguins, x="flipper_length_mm", kde=True)

../_immagini / istplot_9_0.png

Se non viene assegnato né xy, il set di dati viene trattato aswide-form e viene disegnato un istogramma per ogni colonna numerica:

sns.histplot(data=penguins)

../_immagini / istplot_11_0.png

È altrimenti possibile disegnare più istogrammi da un set di dati a forma lunga withhue mapping:

sns.histplot(data=penguins, x="flipper_length_mm", hue="species")

../_immagini / istplot_13_0.png

L’approccio predefinito per tracciare più distribuzioni è quello di”sovrapporle”, ma puoi anche” impilarle”:

sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")

../_immagini / istplot_15_0.png

Le barre sovrapposte possono essere difficili da risolvere visivamente. Un approccio diverso sarebbe quello di disegnare una funzione step:

sns.histplot(penguins, x="flipper_length_mm", hue="species", element="step")

../_immagini / istplot_17_0.png

Puoi allontanarti ancora di più dalle barre disegnando un poligono con i vertici al centro di ogni bin. Questo può rendere più facile vedere la forma della distribuzione, ma usare con cautela: sarà meno ovvio per il tuo pubblico che stanno guardando un istogramma:

sns.histplot(penguins, x="flipper_length_mm", hue="species", element="poly")
../_immagini / istplot_19_0.png

Per confrontare la distribuzione di sottoinsiemi che differiscono sostanzialmente insize, utilizzare indepdendent density normalization:

sns.histplot( penguins, x="bill_length_mm", hue="island", element="step", stat="density", common_norm=False,)

../_immagini / istplot_21_0.png

È anche possibile normalizzare in modo che l’altezza di ogni barra mostri aprobability, che ha più senso per le variabili discrete:

tips = sns.load_dataset("tips")sns.histplot(data=tips, x="size", stat="probability", discrete=True)

../_immagini / istplot_23_0.png

Puoi anche disegnare un istogramma su variabili categoriali (sebbene questa sia una caratteristica sperimentale):

sns.histplot(data=tips, x="day", shrink=.8)

../_immagini / istplot_25_0.png

Quando si utilizza unhue semantico con dati discreti, può avere senso”schivare” i livelli:

sns.histplot(data=tips, x="day", hue="sex", multiple="dodge", shrink=.8)

../_immagini / istplot_27_0.png

I dati del mondo reale sono spesso distorti. Per distribuzioni fortemente distorte, è meglio definire i bin nello spazio di registro. Confrontare:

planets = sns.load_dataset("planets")sns.histplot(data=planets, x="distance")

../_images/histplot_29_0.png

To the log-scale version:

sns.histplot(data=planets, x="distance", log_scale=True)

../_images/histplot_31_0.png

There are also a number of options for how the histogram appears. Youcan show unfilled bars:

sns.histplot(data=planets, x="distance", log_scale=True, fill=False)

../_images/histplot_33_0.png

Or an unfilled step function:

sns.histplot(data=planets, x="distance", log_scale=True, element="step", fill=False)

../_images/histplot_35_0.png

Funzioni passo, esepcially quando vacanti, lo rendono facile da comparecumulative istogrammi:

sns.histplot( data=planets, x="distance", hue="method", hue_order=, log_scale=True, element="step", fill=False, cumulative=True, stat="density", common_norm=False,)

../_immagini / istplot_37_0.png

Quando vengono assegnati entrambi x e y, viene calcolato un istogramma bivariato e mostrato come heatmap:

sns.histplot(penguins, x="bill_depth_mm", y="body_mass_g")

../_immagini / istplot_39_0.png

È possibile assegnare anche una variabilehue, anche se questa non funzionerà bene se i dati dei diversi livelli hanno una sovrapposizione sostanziale:

sns.histplot(penguins, x="bill_depth_mm", y="body_mass_g", hue="species")

../_immagini / istplot_41_0.png

Più mappe a colori possono avere senso quando una delle variabili èdiscrete:

sns.histplot( penguins, x="bill_depth_mm", y="species", hue="species", legend=False)

../_immagini / istplot_43_0.png

bivariata istogramma accetta tutte le stesse opzioni per computationas sua univariata controparte, utilizzando le tuple per parametrizzare x ey indipendente

sns.histplot( planets, x="year", y="distance", bins=30, discrete=(True, False), log_scale=(False, True),)

../_immagini / istplot_45_0.png

Il comportamento predefinito rende trasparenti le celle senza osservazioni,sebbene ciò possa essere disabilitato:

sns.histplot( planets, x="year", y="distance", bins=30, discrete=(True, False), log_scale=(False, True), thresh=None,)

../_immagini / istplot_47_0.png

È anche possibile impostare la soglia e il punto di saturazione della mappa colori interms della proporzione dei conteggi cumulativi:

sns.histplot( planets, x="year", y="distance", bins=30, discrete=(True, False), log_scale=(False, True), pthresh=.05, pmax=.9,)

../_immagini / istplot_49_0.png

Per annotare la mappa dei colori, aggiungere una barra dei colori:

sns.histplot( planets, x="year", y="distance", bins=30, discrete=(True, False), log_scale=(False, True), cbar=True, cbar_kws=dict(shrink=.75),)

../_immagini / istplot_51_0.png