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:
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:
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:
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:
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:
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:
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