logo

Histogramos braižymas Python naudojant Matplotlib

Histogramos yra pagrindinė duomenų vizualizavimo priemonė, teikianti grafinį duomenų paskirstymo vaizdą. Jie ypač naudingi tiriant nuolatinius duomenis, pvz., skaitmeninius matavimus ar jutiklių rodmenis. Šis straipsnis padės jums atlikti Plot Histogram in procesą Python naudojant Matplotlib , apimantis esminius žingsnius nuo duomenų paruošimo iki histogramos diagramos sudarymo.

Kas yra Matplotlib histogramos?

A Histograma reiškia duomenis, pateiktus kai kurių grupių forma. Tai tikslus skaitmeninių duomenų pasiskirstymo grafinio vaizdavimo metodas. Tai yra stulpelio diagramos tipas, kai X ašis reiškia bin diapazonus, o Y ašis pateikia informaciją apie dažnį.

Matplotlib histogramos kūrimas

Norint sukurti „Matplotlib“ histogramą, pirmiausia reikia sukurti diapazonų rinkinį, tada paskirstyti visą reikšmių diapazoną į intervalų seriją ir suskaičiuoti reikšmes, kurios patenka į kiekvieną intervalą. Dėžės identifikuojamos kaip nuoseklūs, nesutampantys kintamųjų intervalai matplotlib.pyplot.hist() funkcija naudojama x histogramai apskaičiuoti ir sukurti.



Šioje lentelėje rodomi parametrai, kuriuos priima funkcija matplotlib.pyplot.hist() :

Atributas Parametras
x masyvas arba masyvo seka
šiukšliadėžės pasirenkamame parametre yra sveikasis skaičius, seka arba eilutės
tankis Pasirenkamame parametre yra loginės reikšmės
diapazonas Pasirenkamas parametras rodo viršutinį ir apatinį dėžių diapazoną
histtype pasirenkamas parametras, naudojamas kuriant histogramos tipą [bar, barstacked, step, stepfilled], numatytasis yra juosta
lygiuotis pasirenkamas parametras valdo histogramos braižymą [kairėje, dešinėje, viduryje]
svoriai pasirenkamame parametre yra svorių, kurių matmenys tokie pat kaip x, masyvas
apačioje kiekvienos šiukšliadėžės bazinės linijos vietą
plotis pasirenkamas parametras, kuris yra santykinis juostų plotis, atsižvelgiant į dėžės plotį
spalva pasirenkamas parametras, naudojamas spalvai arba spalvų specifikacijų sekai nustatyti
etiketė pasirenkama parametrų eilutė arba eilutės seka, kuri atitiktų kelis duomenų rinkinius
žurnalas pasirenkamas parametras, naudojamas histogramos ašiai nustatyti žurnalo skalėje

Histogramos braižymas Python naudojant Matplotlib

Čia pamatysime skirtingus „Matplotlib“ histogramos braižymo metodus Python :

  • Pagrindinė histograma
  • Individualizuota histograma su tankio diagrama
  • Individualizuota histograma su vandens ženklu
  • Kelios histogramos su poskyriais
  • Sudėtinė histograma
  • 2D histograma (Hexbin diagrama)

Sukurkite pagrindinę histogramą „Matplotlib“.

Sukurkime pagrindinę histogramą „Matplotlib“, naudodami kai kurių atsitiktinių reikšmių Python.

bash, jei būklė

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

>

>

Išvestis:

Python histograma naudojant Matplotlib

Pritaikyta histograma Matplotlib su tankio diagrama

Sukurkime tinkintą histogramą su tankio diagrama naudodami Matplotlib ir Seaborn programoje Python. Gauta diagrama vizualizuoja atsitiktinių duomenų pasiskirstymą su sklandžiu tankio įvertinimu.

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

>

>

Išvestis:

Histograma Matplotlib

Individualizuota histograma su vandens ženklu

Sukurkite tinkintą histogramą naudodami Matplotlib programoje Python su konkrečiomis funkcijomis. Jame yra papildomų stiliaus elementų, tokių kaip ašies žymelių pašalinimas, užpildymas ir spalvų gradiento nustatymas, kad būtų geriau vizualizuojama.

Python3




Salman Khan amžius
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()>

>

>

Išvestis:

Histograma naudojant Matplotlib

Kelios histogramos su poskyriais

Sugeneruokime dvi histogramas greta naudodami Matplotlib programoje Python, kurių kiekviena turi savo atsitiktinių duomenų rinkinį ir pateikia vizualų paskirstymo palyginimą.data1>irdata2>naudojant histogramas.

Python3


do while ciklas java



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

>

>

Išvestis:

Ekrano kopija-2023-12-05-222526

Sudėtinė histograma naudojant Matplotlib

Sugeneruokime sukrautą histogramą naudodami Matplotlib programoje Python, vaizduojančią du duomenų rinkinius su skirtingu atsitiktiniu duomenų pasiskirstymu. Sudėtinė histograma suteikia įžvalgų apie bendrą dviejų duomenų rinkinių dažnių pasiskirstymą.

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

>

>

Išvestis:

Ekrano kopija-2023-12-05-222933

Nubraižykite 2D histogramą (Hexbin Plot) naudodami Matplotlib

Sugeneruokime 2D heksbino diagramą naudodami Matplotlib programoje Python, pateikiame vaizdinį 2D duomenų pasiskirstymo vaizdą, kur šešiakampiai perteikia duomenų taškų tankį. Spalvų juosta padeda interpretuoti taškų tankį skirtinguose sklypo regionuose.

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

sąrašas surūšiuotas java

>

>

Išvestis:

Ekrano kopija-2023-12-05-222826

Išvada

Matplotlib histogramų braižymas yra paprastas ir nesudėtingas procesas. Naudodamihist()>funkcija, galime nesunkiai sukurti histogramas su skirtingo pločio ir šiukšliadėžės kraštais. Taip pat galime pritaikyti histogramų išvaizdą, kad atitiktų mūsų poreikius