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:

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:

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

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:

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:

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:

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