Histogrammas attēlošana Python, izmantojot Matplotlib

Histogrammas attēlošana Python, izmantojot Matplotlib

Histogrammas ir būtisks datu vizualizācijas rīks, kas nodrošina datu izplatīšanas grafisku attēlojumu. Tie ir īpaši noderīgi, lai izpētītu nepārtrauktus datus, piemēram, skaitliskos mērījumus vai sensoru rādījumus. Šis raksts palīdzēs jums izveidot histogrammas diagrammu Python izmantojot Matplotlib , kas aptver būtiskos soļus no datu sagatavošanas līdz histogrammas diagrammas ģenerēšanai.

Kas ir Matplotlib histogrammas?

A Histogramma apzīmē datus, kas sniegti dažu grupu veidā. Tā ir precīza metode skaitlisko datu sadalījuma grafiskai attēlošanai. Tas ir joslu diagrammas veids, kurā X ass apzīmē bin diapazonus, bet Y ass sniedz informāciju par frekvenci.

Matplotlib histogrammas izveide

Lai izveidotu Matplotlib histogrammu, pirmais solis ir izveidot diapazonu tvertni, pēc tam sadalīt visu vērtību diapazonu intervālu sērijā un saskaitīt vērtības, kas ietilpst katrā no intervāliem. Tvertnes tiek identificētas kā secīgi mainīgo lielumu intervāli, kas nepārklājas matplotlib.pyplot.hist() funkcija tiek izmantota, lai aprēķinātu un izveidotu x histogrammu.

Nākamajā tabulā parādīti parametri, kurus pieņem funkcija matplotlib.pyplot.hist() :

Atribūts Parametrs
x masīvs vai masīva secība
tvertnes izvēles parametrā ir vesels skaitlis, secība vai virknes
blīvums Izvēles parametrs satur Būla vērtības
diapazons Izvēles parametrs apzīmē tvertņu augšējo un apakšējo diapazonu
histtype neobligāts parametrs, ko izmanto, lai izveidotu histogrammas veidu [josla, josla, kopa, solis, pakāpeniski aizpildīta], noklusējuma ir josla
izlīdzināt izvēles parametrs kontrolē histogrammas zīmēšanu [pa kreisi, pa labi, vidū]
svari neobligāts parametrs satur svaru masīvu, kuru izmēri ir tādi paši kā x
apakšā katras tvertnes bāzes līnijas atrašanās vieta
platums izvēles parametrs, kas ir stieņu relatīvais platums attiecībā pret tvertnes platumu
krāsa izvēles parametrs, ko izmanto, lai iestatītu krāsu vai krāsu specifikāciju secību
etiķete neobligāta parametru virkne vai virknes secība, kas atbilst vairākām datu kopām
žurnāls izvēles parametrs, ko izmanto, lai iestatītu histogrammas asi log skalā

Histogrammas attēlošana Python, izmantojot Matplotlib

Šeit mēs redzēsim dažādas histogrammas zīmēšanas metodes Matplotlib Python :

  • Pamata histogramma
  • Pielāgota histogramma ar blīvuma diagrammu
  • Pielāgota histogramma ar ūdenszīmi
  • Vairākas histogrammas ar apakšgrafikiem
  • Sakrauta histogramma
  • 2D histogramma (Heksbina diagramma)

Izveidojiet pamata histogrammu programmā Matplotlib

Izveidosim pamata histogrammu programmā Matplotlib, izmantojot Python no dažām nejaušām vērtībām.

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

Izvade:

Histogramma Python, izmantojot Matplotlib

Pielāgota histogramma programmā Matplotlib ar blīvuma diagrammu

Izveidosim pielāgotu histogrammu ar blīvuma diagrammu, izmantojot Matplotlib un Seaborn programmā Python. Iegūtais grafiks vizualizē nejaušo datu sadalījumu ar vienmērīgu blīvuma novērtējumu.

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

Izvade:

Histogramma Matplotlib

Pielāgota histogramma ar ūdenszīmi

Izveidojiet pielāgotu histogrammu, izmantojot Matplotlib programmā Python ar īpašām funkcijām. Tajā ir iekļauti papildu stila elementi, piemēram, ass atzīmju noņemšana, polsterējuma pievienošana un krāsu gradienta iestatīšana labākai vizualizācijai.

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

Izvade:

Histogramma, izmantojot Matplotlib

Vairākas histogrammas ar apakšgrafikiem

Ģenerēsim divas histogrammas blakus, izmantojot Matplotlib programmā Python, katrai no tām ir savs nejaušu datu kopums un tiek nodrošināts vizuāls sadalījumu salīdzinājums. data1> un data2> izmantojot histogrammas.

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

Izvade:

Ekrānuzņēmums-2023-12-05-222526

Sakrauta histogramma, izmantojot Matplotlib

Izmantojot Python Matplotlib, ģenerēsim sakrautu histogrammu, kas attēlo divas datu kopas ar dažādiem nejaušiem datu sadalījumiem. Saliktā histogramma sniedz ieskatu abu datu kopu kombinētajā frekvenču sadalījumā.

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

Izvade:

Ekrānuzņēmums-2023-12-05-222933

Uzzīmējiet 2D histogrammu (Hexbin Plot), izmantojot Matplotlib

Ģenerēsim 2D heksbīna diagrammu, izmantojot Matplotlib programmā Python, sniedzam vizuālu 2D datu sadalījuma attēlojumu, kur sešstūri norāda datu punktu blīvumu. Krāsu josla palīdz interpretēt punktu blīvumu dažādos sižeta reģionos.

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

Izvade:

Ekrānuzņēmums-2023-12-05-222826

Secinājums

Matplotlib histogrammu uzzīmēšana ir vienkāršs un vienkāršs process. Izmantojot hist()> funkciju, mēs varam viegli izveidot histogrammas ar dažādu tvertnes platumu un tvertnes malām. Mēs varam arī pielāgot histogrammu izskatu atbilstoši mūsu vajadzībām