Plotte histogram i Python ved hjelp av Matplotlib

Plotte histogram i Python ved hjelp av Matplotlib

Histogrammer er et grunnleggende verktøy i datavisualisering, og gir en grafisk representasjon av distribusjonen av data. De er spesielt nyttige for å utforske kontinuerlige data, for eksempel numeriske målinger eller sensoravlesninger. Denne artikkelen vil guide deg gjennom prosessen med Plot Histogram in Python ved hjelp av Matplotlib , som dekker de essensielle trinnene fra dataforberedelse til generering av histogramplotten.

Hva er Matplotlib-histogrammer?

EN Histogram representerer data gitt i form av noen grupper. Det er en nøyaktig metode for grafisk representasjon av numerisk datadistribusjon. Det er en type søyleplott der X-aksen representerer bingeområdene mens Y-aksen gir informasjon om frekvens.

Opprette et Matplotlib-histogram

For å lage et Matplotlib-histogram er det første trinnet å lage en boks med områdene, deretter fordele hele spekteret av verdiene i en serie med intervaller, og telle verdiene som faller inn i hvert av intervallene. Binger er identifisert som påfølgende, ikke-overlappende intervaller av variabler matplotlib.pyplot.hist() funksjonen brukes til å beregne og lage et histogram av x.

Følgende tabell viser parameterne som er akseptert av funksjonen matplotlib.pyplot.hist() :

Egenskap Parameter
x array eller sekvens av array
søppelkasser valgfri parameter inneholder heltall eller sekvens eller strenger
tetthet Valgfri parameter inneholder boolske verdier
område Valgfri parameter representerer øvre og nedre utvalg av søppelkasser
histtype valgfri parameter som brukes til å lage type histogram [bar, barstacked, step, stepfilled], standard er bar
tilpasse valgfri parameter kontrollerer plotting av histogram [venstre, høyre, midt]
vekter valgfri parameter inneholder en rekke vekter med samme dimensjoner som x
bunn plassering av grunnlinjen til hver søppelkasse
rbredde valgfri parameter som er relativ bredde på stolpene i forhold til beholderbredde
farge valgfri parameter som brukes til å angi farge eller sekvens av fargespesifikasjoner
merkelapp valgfri parameterstreng eller sekvens av streng for å matche med flere datasett
Logg valgfri parameter som brukes til å sette histogramaksen på loggskala

Plotte histogram i Python ved hjelp av Matplotlib

Her vil vi se forskjellige metoder for å plotte histogram i Matplotlib i Python :

  • Grunnleggende histogram
  • Tilpasset histogram med tetthetsplott
  • Tilpasset histogram med vannmerke
  • Flere histogrammer med delplott
  • Stablet histogram
  • 2D-histogram (Hexbin-plott)

Lag et grunnleggende histogram i Matplotlib

La oss lage et grunnleggende histogram i Matplotlib ved å bruke Python med noen tilfeldige verdier.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for the histogram> data> => np.random.randn(> 1000> )> # Plotting a basic histogram> plt.hist(data, bins> => 30> , color> => 'skyblue'> , edgecolor> => 'black'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Frequency'> )> plt.title(> 'Basic Histogram'> )> # Display the plot> plt.show()>

Produksjon:

Histogram i Python ved hjelp av Matplotlib

Tilpasset histogram i Matplotlib med densitetsplott

La oss lage et tilpasset histogram med et tetthetsplott ved å bruke Matplotlib og Seaborn i Python. Det resulterende plottet visualiserer fordelingen av tilfeldige data med et jevnt tetthetsestimat.

Python3




import> matplotlib.pyplot as plt> import> seaborn as sns> import> numpy as np> # Generate random data for the histogram> data> => np.random.randn(> 1000> )> # Creating a customized histogram with a density plot> sns.histplot(data, bins> => 30> , kde> => True> , color> => 'lightgreen'> , edgecolor> => 'red'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Density'> )> plt.title(> 'Customized Histogram with Density Plot'> )> # Display the plot> plt.show()>

Produksjon:

Histogram Matplotlib

Tilpasset histogram med vannmerke

Lag et tilpasset histogram ved å bruke Matplotlib i Python med spesifikke funksjoner. Den inkluderer ekstra stylingelementer, for eksempel å fjerne aksemerker, legge til polstring og angi en fargegradient for bedre visualisering.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> from> matplotlib> import> colors> from> matplotlib.ticker> import> PercentFormatter> # Creating dataset> np.random.seed(> 23685752> )> N_points> => 10000> n_bins> => 20> # Creating distribution> x> => np.random.randn(N_points)> y> => .> 8> *> *> x> +> np.random.randn(> 10000> )> +> 25> legend> => [> 'distribution'> ]> # Creating histogram> fig, axs> => plt.subplots(> 1> ,> 1> ,> > figsize> => (> 10> ,> 7> ),> > tight_layout> => True> )> # Remove axes splines> for> s> in> [> 'top'> ,> 'bottom'> ,> 'left'> ,> 'right'> ]:> > axs.spines[s].set_visible(> False> )> # Remove x, y ticks> axs.xaxis.set_ticks_position(> 'none'> )> axs.yaxis.set_ticks_position(> 'none'> )> > # Add padding between axes and labels> axs.xaxis.set_tick_params(pad> => 5> )> axs.yaxis.set_tick_params(pad> => 10> )> # Add x, y gridlines> axs.grid(b> => True> , color> => 'grey'> ,> > linestyle> => '-.'> , linewidth> => 0.5> ,> > alpha> => 0.6> )> # Add Text watermark> fig.text(> 0.9> ,> 0.15> ,> 'Jeeteshgavande30'> ,> > fontsize> => 12> ,> > color> => 'red'> ,> > ha> => 'right'> ,> > va> => 'bottom'> ,> > alpha> => 0.7> )> # Creating histogram> N, bins, patches> => axs.hist(x, bins> => n_bins)> # Setting color> fracs> => ((N> *> *> (> 1> /> 5> ))> /> N.> max> ())> norm> => colors.Normalize(fracs.> min> (), fracs.> max> ())> for> thisfrac, thispatch> in> zip> (fracs, patches):> > color> => plt.cm.viridis(norm(thisfrac))> > thispatch.set_facecolor(color)> # Adding extra features> plt.xlabel(> 'X-axis'> )> plt.ylabel(> 'y-axis'> )> plt.legend(legend)> plt.title(> 'Customized histogram'> )> # Show plot> plt.show()>

Utgang:

Histogram ved hjelp av Matplotlib

Flere histogrammer med delplott

La oss generere to histogrammer side om side ved å bruke Matplotlib i Python, hver med sitt eget sett med tilfeldige data og gir en visuell sammenligning av distribusjonene til data1> og data2> ved hjelp av histogrammer.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for multiple histograms> data1> => np.random.randn(> 1000> )> data2> => np.random.normal(loc> => 3> , scale> => 1> , size> => 1000> )> # Creating subplots with multiple histograms> fig, axes> => plt.subplots(nrows> => 1> , ncols> => 2> , figsize> => (> 12> ,> 4> ))> axes[> 0> ].hist(data1, bins> => 30> , color> => 'Yellow'> , edgecolor> => 'black'> )> axes[> 0> ].set_title(> 'Histogram 1'> )> axes[> 1> ].hist(data2, bins> => 30> , color> => 'Pink'> , edgecolor> => 'black'> )> axes[> 1> ].set_title(> 'Histogram 2'> )> # Adding labels and title> for> ax> in> axes:> > ax.set_xlabel(> 'Values'> )> > ax.set_ylabel(> 'Frequency'> )> # Adjusting layout for better spacing> plt.tight_layout()> # Display the figure> plt.show()>

Produksjon:

Skjermbilde-2023-12-05-222526

Stablet histogram ved hjelp av Matplotlib

La oss generere et stablet histogram ved å bruke Matplotlib i Python, som representerer to datasett med forskjellige tilfeldige datafordelinger. Det stablede histogrammet gir innsikt i den kombinerte frekvensfordelingen til de to datasettene.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> # Generate random data for stacked histograms> data1> => np.random.randn(> 1000> )> data2> => np.random.normal(loc> => 3> , scale> => 1> , size> => 1000> )> # Creating a stacked histogram> plt.hist([data1, data2], bins> => 30> , stacked> => True> , color> => [> 'cyan'> ,> 'Purple'> ], edgecolor> => 'black'> )> # Adding labels and title> plt.xlabel(> 'Values'> )> plt.ylabel(> 'Frequency'> )> plt.title(> 'Stacked Histogram'> )> # Adding legend> plt.legend([> 'Dataset 1'> ,> 'Dataset 2'> ])> # Display the plot> plt.show()>

Produksjon:

Skjermbilde-2023-12-05-222933

Plott 2D Histogram (Hexbin Plot) ved hjelp av Matplotlib

La oss generere et 2D hexbin-plott ved å bruke Matplotlib i Python, gir en visuell representasjon av 2D-datadistribusjonen, der hexagoner formidler tettheten til datapunkter. Fargelinjen hjelper til med å tolke tettheten av punkter i forskjellige områder av plottet.

Python3




import> matplotlib.pyplot as plt> import> numpy as np> # Generate random 2D data for hexbin plot> x> => np.random.randn(> 1000> )> y> => 2> *> x> +> np.random.normal(size> => 1000> )> # Creating a 2D histogram (hexbin plot)> plt.hexbin(x, y, gridsize> => 30> , cmap> => 'Blues'> )> # Adding labels and title> plt.xlabel(> 'X values'> )> plt.ylabel(> 'Y values'> )> plt.title(> '2D Histogram (Hexbin Plot)'> )> # Adding colorbar> plt.colorbar()> # Display the plot> plt.show()>

Produksjon:

Skjermbilde-2023-12-05-222826

Konklusjon

Å plotte Matplotlib-histogrammer er en enkel og grei prosess. Ved å bruke hist()> funksjon, kan vi enkelt lage histogrammer med forskjellige søppelbredder og søppelkanter. Vi kan også tilpasse utseendet til histogrammer for å møte våre behov