logo

Plotta histogram i Python med Matplotlib

Histogram är ett grundläggande verktyg i datavisualisering, som ger en grafisk representation av distributionen av data. De är särskilt användbara för att utforska kontinuerliga data, såsom numeriska mätningar eller sensoravläsningar. Den här artikeln guidar dig genom processen med Plot Histogram in Pytonorm använder sig av Matplotlib , som täcker de väsentliga stegen från databeredning till generering av histogramdiagrammet.

Vad är Matplotlib Histograms?

A Histogram representerar data som tillhandahålls i form av vissa grupper. Det är en korrekt metod för grafisk representation av numerisk datadistribution. Det är en typ av stapeldiagram där X-axeln representerar bin-intervallen medan Y-axeln ger information om frekvens.

Skapa ett Matplotlib-histogram

För att skapa ett Matplotlib-histogram är det första steget att skapa en bin med intervallen, sedan fördela hela intervallet av värdena i en serie intervall och räkna värdena som faller in i vart och ett av intervallen. Bins identifieras som på varandra följande, icke-överlappande intervall av variabler matplotlib.pyplot.hist() funktionen används för att beräkna och skapa ett histogram av x.



Följande tabell visar parametrarna som accepteras av funktionen matplotlib.pyplot.hist() :

Attribut Parameter
x array eller sekvens av array
papperskorgar valfri parameter innehåller heltal eller sekvens eller strängar
densitet Valfri parameter innehåller booleska värden
räckvidd Valfri parameter representerar övre och nedre intervall av fack
histtyp valfri parameter som används för att skapa typ av histogram [stapel, staplad, steg, stegfylld], standard är bar
justera valfri parameter styr plottning av histogram [vänster, höger, mitten]
vikter valfri parameter innehåller en rad vikter med samma dimensioner som x
botten platsen för baslinjen för varje behållare
rwidth valfri parameter som är den relativa bredden på staplarna med avseende på fackets bredd
Färg valfri parameter som används för att ställa in färg eller sekvens av färgspecifikationer
märka valfri parametersträng eller sekvens av sträng för att matcha med flera datamängder
logga valfri parameter som används för att ställa in histogramaxeln på loggskala

Plotta histogram i Python med Matplotlib

Här kommer vi att se olika metoder för att plotta histogram i Matplotlib in Pytonorm :

  • Grundläggande histogram
  • Anpassat histogram med densitetsdiagram
  • Anpassat histogram med vattenstämpel
  • Flera histogram med subplots
  • Staplat histogram
  • 2D Histogram (Hexbin Plot)

Skapa ett grundläggande histogram i Matplotlib

Låt oss skapa ett grundläggande histogram i Matplotlib med Python med några slumpmässiga värden.

datum konvertera till sträng

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()>

>

>

Produktion:

Histogram i Python med Matplotlib

Anpassat histogram i Matplotlib med densitetsplot

Låt oss skapa ett anpassat histogram med en densitetsplott med Matplotlib och Seaborn i Python. Den resulterande plotten visualiserar fördelningen av slumpmässiga data med en jämn densitetsuppskattning.

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()>

java för looptyper

>

>

Produktion:

Histogram Matplotlib

Anpassat histogram med vattenstämpel

Skapa ett anpassat histogram med Matplotlib i Python med specifika funktioner. Den innehåller ytterligare stylingelement, som att ta bort axeltickar, lägga till stoppning och ställa in en färggradient för bättre 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()>

>

>

Utgång:

Histogram med Matplotlib

Flera histogram med subplots

Låt oss generera två histogram sida vid sida med Matplotlib i Python, var och en med sin egen uppsättning slumpmässiga data och ger en visuell jämförelse av fördelningarna avdata1>ochdata2>med hjälp av histogram.

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()>

>

>

Produktion:

Skärmdump-2023-12-05-222526

Staplat histogram med Matplotlib

Låt oss generera ett staplat histogram med Matplotlib i Python, som representerar två datauppsättningar med olika slumpmässiga datafördelningar. Det staplade histogrammet ger insikter i den kombinerade frekvensfördelningen av de två datamängderna.

.tif-fil

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()>

>

>

Produktion:

Skärmdump-2023-12-05-222933

Rita 2D Histogram (Hexbin Plot) med Matplotlib

Låt oss generera en 2D hexbin-plot med Matplotlib i Python, ger en visuell representation av 2D-datadistributionen, där hexagoner förmedlar densiteten av datapunkter. Färgfältet hjälper till att tolka tätheten av punkter i olika delar av plotten.

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()>

hur man skapar en array i java

>

>

Produktion:

Skärmdump-2023-12-05-222826

Slutsats

Att plotta Matplotlib-histogram är en enkel och okomplicerad process. Genom att användahist()>funktion kan vi enkelt skapa histogram med olika lagerbredder och lagerkanter. Vi kan också anpassa utseendet på histogram för att möta våra behov