logo

Risanje histograma v Pythonu z uporabo Matplotlib

Histogrami so temeljno orodje pri vizualizaciji podatkov, saj zagotavljajo grafični prikaz porazdelitve podatkov. Še posebej so uporabni za raziskovanje neprekinjenih podatkov, kot so numerične meritve ali odčitki senzorjev. Ta članek vas bo vodil skozi postopek izrisa histograma v Python uporabo Matplotlib , ki zajema bistvene korake od priprave podatkov do generiranja risbe histograma.

Kaj so Matplotlib Histograms?

A Histogram predstavlja podatke, podane v obliki nekaterih skupin. Je natančna metoda za grafično predstavitev distribucije numeričnih podatkov. To je vrsta paličnega grafikona, kjer os X predstavlja razpone binov, medtem ko os Y daje informacije o frekvenci.

Ustvarjanje histograma Matplotlib

Če želite ustvariti histogram Matplotlib, je prvi korak ustvariti bin obsegov, nato porazdeliti celoten obseg vrednosti v vrsto intervalov in prešteti vrednosti, ki spadajo v vsakega od intervalov. Koši so identificirani kot zaporedni intervali spremenljivk, ki se ne prekrivajo matplotlib.pyplot.hist() funkcija se uporablja za izračun in ustvarjanje histograma x.



Naslednja tabela prikazuje parametre, ki jih sprejme funkcija matplotlib.pyplot.hist():

Atribut Parameter
x niz ali zaporedje niza
zabojniki izbirni parameter vsebuje celo število ali zaporedje ali nize
gostota Izbirni parameter vsebuje logične vrednosti
obseg Izbirni parameter predstavlja zgornji in spodnji obseg zabojnikov
histtype izbirni parameter, ki se uporablja za ustvarjanje vrste histograma [bar, barstacked, step, stepfilled], privzeto je bar
poravnati izbirni parameter nadzoruje izris histograma [levo, desno, sredina]
uteži izbirni parameter vsebuje niz uteži enakih dimenzij kot x
dno lokacijo osnovne črte vsakega predala
rwidth izbirni parameter, ki je relativna širina palic glede na širino zaboja
barva izbirni parameter, ki se uporablja za nastavitev barve ali zaporedja barvnih specifikacij
oznaka izbirni niz parametrov ali zaporedje nizov za ujemanje z več nizi podatkov
dnevnik izbirni parameter, ki se uporablja za nastavitev osi histograma na logaritmičnem merilu

Risanje histograma v Pythonu z uporabo Matplotlib

Tukaj bomo videli različne metode risanja histograma v Matplotlib Python :

  • Osnovni histogram
  • Prilagojeni histogram z grafom gostote
  • Prilagojeni histogram z vodnim žigom
  • Več histogramov s podgrafi
  • Zloženi histogram
  • 2D histogram (Hexbinov izris)

Ustvarite osnovni histogram v Matplotlib

Ustvarimo osnovni histogram v Matplotlibu z uporabo Pythona nekaterih naključnih vrednosti.

pisava iz lateksa

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

>

>

Izhod:

Histogram v Pythonu z uporabo Matplotliba

Prilagojeni histogram v Matplotlib z grafom gostote

Ustvarimo prilagojen histogram z grafom gostote z uporabo Matplotlib in Seaborn v Pythonu. Dobljeni graf vizualizira porazdelitev naključnih podatkov z gladko oceno gostote.

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

>

>

Izhod:

Histogram Matplotlib

Prilagojeni histogram z vodnim žigom

Ustvarite histogram po meri z Matplotlib v Pythonu s posebnimi funkcijami. Vključuje dodatne elemente oblikovanja, kot je odstranjevanje kljukic osi, dodajanje oblazinjenja in nastavitev barvnega gradienta za boljšo vizualizacijo.

vol proti biku

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

>

>

Izhod:

mylivecricket

Histogram z uporabo Matplotliba

Več histogramov s podgrafi

Ustvarimo dva histograma drug ob drugem z uporabo Matplotlib v Pythonu, vsak s svojim naborom naključnih podatkov in zagotavlja vizualno primerjavo porazdelitevdata1>indata2>z uporabo histogramov.

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

>

>

Izhod:

Posnetek zaslona-2023-12-05-222526

Zloženi histogram z uporabo Matplotliba

Ustvarimo zloženi histogram z Matplotlib v Pythonu, ki predstavlja dva nabora podatkov z različnimi naključnimi porazdelitvami podatkov. Zloženi histogram ponuja vpogled v kombinirano frekvenčno porazdelitev obeh naborov podatkov.

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

>

>

Izhod:

Posnetek zaslona-2023-12-05-222933

Narišite 2D histogram (Hexbin Plot) z Matplotlib

Let's ustvari 2D hexbin graf z Matplotlib v Pythonu, zagotavlja vizualno predstavitev 2D porazdelitve podatkov, kjer šesterokotniki izražajo gostoto podatkovnih točk. Barvna vrstica pomaga razlagati gostoto točk v različnih delih risbe.

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

kaj je mac os

>

>

Izhod:

Posnetek zaslona-2023-12-05-222826

Zaključek

Risanje histogramov Matplotlib je preprost in neposreden postopek. Z uporabohist()>funkcijo, lahko preprosto ustvarimo histograme z različnimi širinami in robovi pladnja. Videz histogramov lahko prilagodimo tudi svojim potrebam