Articles

seaborn.histplot¶

seaborn.histplot(data=Geen, *, x=Geen, y=Geen, hue=Geen, gewicht=Geen, stat=’aantal’, silo ‘ =’auto’, binwidth=Geen, binrange=Geen, discrete=Geen, cumulatief=Onwaar, common_bins=True, common_norm=True, meerdere=’laag’, element=’bars’, vul=True, krimpen=1, kde=False, kde_kws=Geen, line_kws=Geen, dorsen=0, pthresh=Geen, pmax=Geen, cbar=False, cbar_ax=Geen, cbar_kws=Geen, palet=Geen, hue_order=Geen, hue_norm=Geen, kleur=Geen, log_scale=Geen, legend=True, ax=Geen, **kwargs)¶

Plot univariate of bivariate histogrammen tonen distributies van gegevensreeks.

een histogram is een klassieke visualisatietool die de verdeling van een of meer variabelen weergeeft door het aantal waarnemingen te tellen die met afzonderlijke bakken vallen.

Deze functie kan de in elke bin berekende statistiek normaliseren om Frequentie, dichtheid of waarschijnlijkheidsmassa te schatten, en het kan een vloeiende kromme toevoegen die is verkregen met behulp van een schatting van de kerneldichtheid, vergelijkbaar met kdeplot().

meer informatie vindt u in de gebruikershandleiding.

Parameters datapandas.DataFramenumpy.ndarray, mapping, or sequence

input data structure. Ofwel een lange-vorm collectie van vectoren die kunnen worden ondertekend aan benoemde variabelen of een breed-vorm dataset die intern zal worden geherformuleerd.

X, yvectors of sleutels indata

variabelen die posities op de x-en y-assen specificeren.

huevector of sleutel indata

semantische variabele die is toegewezen om de kleur van plotelementen te bepalen.

gewichtsvector of sleutel indata

indien gegeven, de bijdrage van het corresponderende gegevenspunt naar de telling in elke bak met deze factoren afwegen.

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

geaggregeerde statistiek om in elke bin te berekenen.

  • count toont het aantal waarnemingen

  • frequency toont het aantal waarnemingen gedeeld door het bin breedte

  • density normaliseert telt dus dat de oppervlakte van het histogram 1

  • probability normaliseert telt zo dat de som van de bar heights is 1

binsstr, getal, vector, of een paar van dergelijke waarden

Algemene bin parameter, die u de naam van een referentie-regel,het aantal bins, of de einden van de bakken.Doorgegeven aan numpy.histogram_bin_edges().

binwidthnumber of paar getallen

breedte van elke bin, overschrijft bins maar kan worden gebruikt metbinrange.

binrangepair van getallen of een paar paren

laagste en hoogste waarde voor bin-randen; kan worden gebruikt met bins of binwidth. Standaard data extremen.

discretebool

indien waar, standaard binwidth=1 en teken de balken zo dat ze worden gecentreerd op hun overeenkomstige gegevenspunten. Dit vermijdt “hiaten” die anders kunnen verschijnen bij het gebruik van discrete (integer) gegevens.

cumulatief blok

indien waar, plot de cumulatieve tellingen als bakken toenemen.

common_binsbool

indien waar, gebruik dezelfde bins wanneer semantische variabelen multipleplots produceren. Als een referentieregel wordt gebruikt om de bakken te bepalen, wordt deze berekend met de volledige dataset.

common_normbool

indien waar en met behulp van een genormaliseerde statistiek, zal de normalisatie van toepassing zijn over de volledige dataset. Anders, normaliseren elk histogram onafhankelijk.

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

aanpak voor het oplossen van meerdere elementen wanneer semantische toewijzing subsets creëert.Alleen relevant voor univariate data.

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

Visuele weergave van de histogram statistiek.Alleen relevant voor univariate data.

fillbool

indien waar, vul de spatie in onder het histogram.Alleen relevant voor univariate data.

shrinknumber

schalen de breedte van elke bar ten opzichte van de binbreedte met deze factor.Alleen relevant voor univariate data.

kdebool

indien True, Bereken een schatting van de kerneldichtheid om de distributie glad te strijken en op de plot te tonen als (een of meer) regel(en).Alleen relevant voor univariate data.

Kde_kwsdict

Parameters die de KDE-berekening bepalen, zoals in kdeplot().

line_kwsdict

Parameters die de KDE visualisatie controleren, doorgegeven aanmatplotlib.axes.Axes.plot().

drempelaantal of geen

cellen met een statistiek kleiner dan of gelijk aan deze waarde zullen transparant zijn.Alleen relevant met bivariate data.

pthreshnumber of geen

zoals thresh, maar een waarde die zodanig is dat cellen met geaggregeerde tellingen(of andere statistieken, indien gebruikt) tot dit deel van het totaal transparant zijn.

pmaxnumber or None

een waarde die het verzadigingspunt voor de kleurenkaart instelt op een waarde die zodanig is dat onderstaande cellen dit deel van het totale aantal vormen (of een andere statistiek, indien gebruikt).

cbarbool

indien ingeschakeld, voeg een kleurbalk toe om de kleurtoewijzing in een bivariate plot te annoteren.Opmerking: ondersteunt momenteel geen plots met een hue variabele well.

cbar_axmatplotlib.axes.Axes

bestaande assen voor de kleurbalk.

Cbar_kwsdict

aanvullende parameters doorgegeven aan matplotlib.figure.Figure.colorbar().

palettestring, list, dict, or

matplotlib.colors.Colormap

methode voor het kiezen van de kleuren die gebruikt worden bij het toewijzen van de hue semantisch.Tekenreekswaarden worden doorgegeven aan color_palette(). Lijst of dict-waardeenimply categorische toewijzing, terwijl een kleurenkaart-object numerieke toewijzing impliceert.

hue_ordervector van strings

specificeer de volgorde van verwerking en plotten voor categorische niveaus van dehue semantisch.

hue_normtuple ofmatplotlib.colors.Normalize

ofwel een paar waarden die het normalisatiebereik in data-eenheden instellen of een object dat van data-eenheden in een interval afbeeldt. Het gebruik beperkt numerieke mapping.

colormatplotlib color

enkele kleurspecificatie voor wanneer tintafbeelding niet wordt gebruikt. Anders zal de plot proberen te haken in de matplotlib eigenschap cyclus.

log_scalebool of getal, of paar bools of getallen

Stel een logschaal in op de gegevensas (of assen, met bivariate data) met de gegeven basis (standaard 10), en evalueer de KDE in logruimte.

legendabool

indien onwaar, onderdrukt u de legenda voor semantische variabelen.

axmatplotlib.axes.Axes

bestaande assen voor het perceel. Anders moet matplotlib.pyplot.gca()intern worden aangeroepen.

kwargs

andere trefwoordargumenten worden doorgegeven aan een van de volgende matplotlibfuncties:

  • 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

Plot univariate of bivariate distributies met behulp van kerneldichtheidsschatting.

rugplot

teken een teek bij elke waarnemingswaarde langs de x-en/of y-assen.

ecdfplot

Plot empirische cumulatieve distributiefuncties.

jointplot

teken een bivariate plot met univariate marginale distributies.

opmerkingen

de keuze van bakken voor het berekenen en plotten van een histogram kan een aanzienlijke invloed hebben op de inzichten die men uit devisualisatie kan putten. Als de bakken te groot zijn, kunnen ze belangrijke functies wissen.Aan de andere kant, bakken die te klein zijn kunnen worden gedomineerd door randomvariabiliteit, het verdoezelen van de vorm van de ware onderliggende distributie. De standaard bin-grootte wordt bepaald met behulp van een referentieregel die afhankelijk is van de steekproefgrootte en variantie. Dit werkt goed in veel gevallen, (dat wil zeggen, met “goed gedragen” gegevens) maar het mislukt in anderen. Het is altijd goed om verschillende binmaten te proberen om er zeker van te zijn dat je niet iets belangrijks mist.Met deze functie kunt u bakken op verschillende manieren opgeven, bijvoorbeeld door het totale aantal te gebruiken bakken in te stellen, de breedte van elke bak of de specifieke locaties waar de bakken moeten breken.

voorbeelden

Wijs een variabele toe aan x om een univariate verdeling langs de x-as te plotten:

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

../_images / histplot_1_0.PNG

draai de plot om door de gegevensvariabele toe te wijzen aan de y-as:

sns.histplot(data=penguins, y="flipper_length_mm")
../_images / histplot_3_0.PNG

Controleer hoe goed het histogram de gegevens weergeeft door een andere binbreedte op te geven:

sns.histplot(data=penguins, x="flipper_length_mm", binwidth=3)
../_images / histplot_5_0.png

u kunt ook het totale aantal te gebruiken bins definiëren:

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

../_images / histplot_7_0.png

voeg een schatting van de kerneldichtheid toe om het histogram glad te maken, met aanvullende informatie over de vorm van de distributie:

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

../_images / histplot_9_0.png

indien noch x noch y is toegewezen, wordt de dataset behandeld als wide-form en wordt voor elke numerieke kolom een histogram getekend:

sns.histplot(data=penguins)

../_images / histplot_11_0.png

u kunt anders meerdere histogrammen tekenen uit een dataset met lange vorm methue-toewijzing:

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

../_images / histplot_13_0.png

De standaard aanpak voor het plotten van meerdere distributies is om ze te “laag”, maar je kunt ze ook “stack”:

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

../_images / histplot_15_0.PNG

overlappende balken kunnen moeilijk visueel op te lossen zijn. Een andere benadering zou zijn om een step-functie te tekenen:

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

../_images / histplot_17_0.png

u kunt nog verder weg van bars gaan door een veelhoek te tekenen metvertices in het midden van elke bin. Dit kan het gemakkelijker maken om de vorm van de distributie te zien, maar wees voorzichtig: het zal minder evidouou voor uw publiek dat ze kijken naar een histogram:

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

../_images / histplot_19_0.png

om de verdeling van subsets die wezenlijk verschillen te vergelijken, gebruik independent density normalization:

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

../_images / histplot_21_0.png

Het is ook mogelijk om zo te normaliseren dat de hoogte van elke maat eenbetekenis laat zien, wat zinvoller is voor discrete variabelen:

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

../_images / histplot_23_0.png

u kunt zelfs een histogram tekenen over categorische variabelen (hoewel dit een experimentele functie is):

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

../_images / histplot_25_0.png

wanneer een hue semantisch met discrete gegevens wordt gebruikt, kan het zinvol zijn om de niveaus te”ontwijken”:

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

../_images / histplot_27_0.PNG

Real-world data is vaak scheef. Voor sterk scheef verdeelde distributies is het beter om de bakken in de logruimte te definiëren. Vergelijken:

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

Stapfuncties, esepciaal wanneer ze niet gevuld zijn, maken het gemakkelijk om cumulatieve histogrammen te compareren:

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

../_images / histplot_37_0.png

wanneer zowel x en y zijn toegewezen, wordt een bivariaathistogram berekend en weergegeven als een heatmap:

../_images / histplot_39_0.png

het is mogelijk om ook een hue variabele toe te wijzen, hoewel dit niet goed werkt als gegevens van de verschillende niveaus aanzienlijke overlap hebben:

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

../_images / histplot_41_0.png

meerdere kleurenafbeeldingen kunnen zinvol zijn wanneer een van de variabelen wordt onderscheiden:

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

../_images / histplot_43_0.png

het bivariate histogram accepteert alle dezelfde opties voor berekening als zijn univariate tegenhanger, met tupels om x eny onafhankelijk van elkaar:

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

../_images / histplot_45_0.png

het standaardgedrag maakt cellen zonder waarnemingen transparant, hoewel dit kan worden uitgeschakeld:

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

../_images / histplot_47_0.png

Het is ook mogelijk om de drempelwaarde en het kleurenkaartverzadigingspunt interms in te stellen van de verhouding cumulatieve tellingen:

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

../_images / histplot_49_0.png

om de kleurenkaart te annoteren, voegt u een kleurbalk toe:

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

../_images / histplot_51_0.png