Tracciare l'istogramma in Python utilizzando Matplotlib
Gli istogrammi sono uno strumento fondamentale nella visualizzazione dei dati, poiché forniscono una rappresentazione grafica della distribuzione dei dati. Sono particolarmente utili per esplorare dati continui, come misurazioni numeriche o letture di sensori. Questo articolo ti guiderà attraverso il processo di tracciamento dell'istogramma Pitone utilizzando Matplotlib , coprendo i passaggi essenziali dalla preparazione dei dati alla generazione del grafico dell'istogramma.
Che cosa sono gli istogrammi Matplotlib?
UN Istogramma rappresenta i dati forniti sotto forma di alcuni gruppi. È un metodo accurato per la rappresentazione grafica della distribuzione dei dati numerici. È un tipo di grafico a barre in cui l'asse X rappresenta gli intervalli dei contenitori mentre l'asse Y fornisce informazioni sulla frequenza.
Creazione di un istogramma Matplotlib
Per creare un istogramma Matplotlib, il primo passaggio consiste nel creare un contenitore degli intervalli, quindi distribuire l'intero intervallo dei valori in una serie di intervalli e contare i valori che rientrano in ciascuno degli intervalli. I contenitori sono identificati come intervalli di variabili consecutivi e non sovrapposti matplotlib.pyplot.hist() la funzione viene utilizzata per calcolare e creare un istogramma di x.
La tabella seguente mostra i parametri accettati dalla funzione matplotlib.pyplot.hist():
| Attributo | Parametro |
|---|---|
| X | array o sequenza di array |
| bidoni | il parametro facoltativo contiene numeri interi, sequenze o stringhe |
| densità | Il parametro facoltativo contiene valori booleani |
| allineare | Il parametro facoltativo rappresenta l'intervallo superiore e inferiore di contenitori |
| histtype | parametro opzionale utilizzato per creare il tipo di istogramma [bar, barsstacked, step, stepfilled], il valore predefinito è bar |
| allineare | il parametro opzionale controlla il tracciato dell'istogramma [sinistra, destra, metà] |
| pesi | il parametro opzionale contiene un array di pesi aventi le stesse dimensioni di x |
| metter il fondo a | posizione della linea di base di ciascun contenitore |
| larghezza | parametro opzionale che è la larghezza relativa delle barre rispetto alla larghezza del contenitore |
| colore | parametro opzionale utilizzato per impostare il colore o la sequenza delle specifiche del colore |
| etichetta | stringa di parametri facoltativa o sequenza di stringhe da abbinare a più set di dati |
| tronco d'albero | parametro opzionale utilizzato per impostare l'asse dell'istogramma sulla scala logaritmica |
Tracciare l'istogramma in Python utilizzando Matplotlib
Qui vedremo diversi metodi per tracciare l'istogramma in Matplotlib in Pitone :
- Istogramma di base
- Istogramma personalizzato con grafico della densità
- Istogramma personalizzato con filigrana
- Istogrammi multipli con sottotrame
- Istogramma in pila
- Istogramma 2D (grafico Hexbin)
Crea un istogramma di base in Matplotlib
Creiamo un istogramma di base in Matplotlib utilizzando Python di alcuni valori casuali.
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()> |
Produzione:
Istogramma personalizzato in Matplotlib con Density Plot
Creiamo un istogramma personalizzato con un grafico della densità utilizzando Matplotlib e Seaborn in Python. Il grafico risultante visualizza la distribuzione dei dati casuali con una stima della densità uniforme.
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()> |
Produzione:
Istogramma personalizzato con filigrana
Crea un istogramma personalizzato utilizzando Matplotlib in Python con funzionalità specifiche. Include elementi di stile aggiuntivi, come la rimozione dei segni di spunta degli assi, l'aggiunta di riempimento e l'impostazione di una sfumatura di colore per una migliore visualizzazione.
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()> |
Produzione :
Istogrammi multipli con sottotrame
Generiamo due istogrammi affiancati utilizzando Matplotlib in Python, ciascuno con il proprio set di dati casuali e forniamo un confronto visivo delle distribuzioni di data1> E data2> utilizzando gli istogrammi.
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()> |
Produzione:
Istogramma in pila utilizzando Matplotlib
Generiamo un istogramma in pila utilizzando Matplotlib in Python, che rappresenta due set di dati con diverse distribuzioni casuali di dati. L'istogramma in pila fornisce informazioni sulla distribuzione di frequenza combinata dei due set di dati.
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()> |
Produzione:
Traccia un istogramma 2D (Hexbin Plot) utilizzando Matplotlib
Generiamo un grafico esadecimale 2D utilizzando Matplotlib in Python, fornisce una rappresentazione visiva della distribuzione dei dati 2D, in cui gli esagoni trasmettono la densità dei punti dati. La barra dei colori aiuta a interpretare la densità dei punti nelle diverse regioni del grafico.
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()> |
Produzione:
Conclusione
Tracciare gli istogrammi Matplotlib è un processo semplice e diretto. Utilizzando il hist()> funzione, possiamo creare facilmente istogrammi con diverse larghezze e bordi del contenitore. Possiamo anche personalizzare l'aspetto degli istogrammi per soddisfare le nostre esigenze