Trasarea histogramei în Python folosind Matplotlib

Trasarea histogramei în Python folosind Matplotlib

Histogramele sunt un instrument fundamental în vizualizarea datelor, oferind o reprezentare grafică a distribuției datelor. Ele sunt deosebit de utile pentru explorarea datelor continue, cum ar fi măsurătorile numerice sau citirile senzorilor. Acest articol vă va ghida prin procesul de Plot Histogram în Piton folosind Matplotlib , acoperind etapele esențiale de la pregătirea datelor până la generarea graficului histogramei.

Ce este Histogramele Matplotlib?

A Histogramă reprezintă date furnizate sub forma unor grupuri. Este o metodă precisă pentru reprezentarea grafică a distribuției datelor numerice. Este un tip de diagramă cu bare în care axa X reprezintă intervalele bin, în timp ce axa Y oferă informații despre frecvență.

Crearea unei histograme Matplotlib

Pentru a crea o histogramă Matplotlib, primul pas este să creați un bin cu intervale, apoi să distribuiți întregul interval de valori într-o serie de intervale și să numărați valorile care se încadrează în fiecare dintre intervale. Binele sunt identificate ca intervale de variabile consecutive, care nu se suprapun matplotlib.pyplot.hist() funcția este utilizată pentru a calcula și a crea o histogramă a lui x.

Următorul tabel prezintă parametrii acceptați de funcția matplotlib.pyplot.hist() :

Atribut Parametru
X matrice sau secvență de matrice
pubele de gunoi parametrul opțional conține un întreg sau o secvență sau șiruri de caractere
densitate Parametrul opțional conține valori booleene
gamă Parametrul opțional reprezintă intervalul superior și inferior al recipientelor
histtip parametru opțional utilizat pentru a crea tipul de histogramă [bar, barstacked, step, stepfilled], implicit este bar
alinia parametrul opțional controlează reprezentarea histogramei [stânga, dreapta, mijlocul]
greutăți parametrul opțional conține o matrice de greutăți având aceleași dimensiuni ca x
fund locația liniei de bază a fiecărui recipient
rwidth parametru opțional care este lățimea relativă a barelor în raport cu lățimea recipientului
culoare parametru opțional utilizat pentru a seta culoarea sau secvența specificațiilor de culoare
eticheta șir de parametri opțional sau secvență de șir pentru a se potrivi cu mai multe seturi de date
Buturuga parametru opțional utilizat pentru a seta axa histogramei pe scara logaritmică

Trasarea histogramei în Python folosind Matplotlib

Aici vom vedea diferite metode de trasare a histogramei în Matplotlib în Piton :

  • Histograma de bază
  • Histogramă personalizată cu diagramă de densitate
  • Histogramă personalizată cu filigran
  • Histograme multiple cu subploturi
  • Histogramă stivuită
  • Histogramă 2D (diagrama Hexbin)

Creați o histogramă de bază în Matplotlib

Să creăm o histogramă de bază în Matplotlib folosind Python a unor valori aleatorii.

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

Ieșire:

Histograma în Python folosind Matplotlib

Histogramă personalizată în Matplotlib cu diagramă de densitate

Să creăm o histogramă personalizată cu o diagramă de densitate folosind Matplotlib și Seaborn în Python. Graficul rezultat vizualizează distribuția datelor aleatoare cu o estimare netedă a densității.

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

Ieșire:

Histograma Matplotlib

Histogramă personalizată cu filigran

Creați o histogramă personalizată folosind Matplotlib în Python cu caracteristici specifice. Include elemente de stil suplimentare, cum ar fi eliminarea bifurilor axelor, adăugarea de umplutură și setarea unui gradient de culoare pentru o vizualizare mai bună.

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

Ieșire:

Histograma folosind Matplotlib

Histograme multiple cu subploturi

Să generăm două histograme una lângă alta folosind Matplotlib în Python, fiecare cu propriul său set de date aleatorii și oferă o comparație vizuală a distribuțiilor de data1> și data2> folosind histograme.

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

Ieșire:

Captură de ecran-2023-12-05-222526

Histogramă stivuită folosind Matplotlib

Să generăm o histogramă stivuită folosind Matplotlib în Python, reprezentând două seturi de date cu distribuții aleatoare de date diferite. Histograma stivuită oferă informații despre distribuția combinată de frecvență a celor două seturi de date.

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

Ieșire:

Captură de ecran-2023-12-05-222933

Trasează histograma 2D (Hexbin Plot) folosind Matplotlib

Să generăm o diagramă hexbin 2D utilizând Matplotlib în Python, oferă o reprezentare vizuală a distribuției datelor 2D, unde hexagoanele transmit densitatea punctelor de date. Bara de culori ajută la interpretarea densității punctelor din diferite regiuni ale graficului.

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

Ieșire:

Captură de ecran-2023-12-05-222826

Concluzie

Trasarea histogramelor Matplotlib este un proces simplu și direct. Prin utilizarea hist()> funcție, putem crea cu ușurință histograme cu diferite lățimi și margini ale containerului. De asemenea, putem personaliza aspectul histogramelor pentru a satisface nevoile noastre