Les histogrammes sont un outil fondamental dans la visualisation des données, fournissant une représentation graphique de la distribution des données. Ils sont particulièrement utiles pour explorer des données continues, telles que des mesures numériques ou des relevés de capteurs. Cet article vous guidera tout au long du processus de tracé de l'histogramme dans Python en utilisant Matplotlib , couvrant les étapes essentielles depuis la préparation des données jusqu'à la génération du tracé de l'histogramme.
Qu’est-ce que les histogrammes Matplotlib ?
UN Histogramme représente les données fournies sous la forme de certains groupes. Il s'agit d'une méthode précise pour la représentation graphique de la distribution des données numériques. Il s'agit d'un type de graphique à barres où l'axe X représente les plages de cases tandis que l'axe Y donne des informations sur la fréquence.
Création d'un histogramme Matplotlib
Pour créer un histogramme Matplotlib, la première étape consiste à créer un groupe de plages, puis à distribuer toute la plage de valeurs dans une série d'intervalles et à compter les valeurs qui tombent dans chacun des intervalles. Les groupes sont identifiés comme des intervalles de variables consécutifs et sans chevauchement. matplotlib.pyplot.hist() La fonction est utilisée pour calculer et créer un histogramme de x.
Le tableau suivant présente les paramètres acceptés par la fonction matplotlib.pyplot.hist() :
Attribut | Paramètre |
---|---|
X | tableau ou séquence de tableau |
bacs | le paramètre facultatif contient un entier, une séquence ou des chaînes |
densité | Le paramètre facultatif contient des valeurs booléennes |
gamme | Le paramètre facultatif représente la plage supérieure et inférieure des bacs |
histtype | paramètre facultatif utilisé pour créer le type d'histogramme [bar, barstacked, step, stepfilled], la valeur par défaut est bar |
aligner | le paramètre facultatif contrôle le tracé de l'histogramme [gauche, droite, milieu] |
poids | le paramètre facultatif contient un tableau de poids ayant les mêmes dimensions que x |
bas | emplacement de la ligne de base de chaque bac |
largeur | paramètre facultatif qui correspond à la largeur relative des barres par rapport à la largeur du bac |
couleur | paramètre facultatif utilisé pour définir la couleur ou la séquence de spécifications de couleur |
étiquette | chaîne de paramètre facultative ou séquence de chaîne pour correspondre à plusieurs ensembles de données |
enregistrer | paramètre facultatif utilisé pour définir l'axe de l'histogramme sur l'échelle logarithmique |
Tracer un histogramme en Python à l'aide de Matplotlib
Ici, nous verrons différentes méthodes de tracé d'histogramme dans Matplotlib dans Python :
- Histogramme de base
- Histogramme personnalisé avec tracé de densité
- Histogramme personnalisé avec filigrane
- Plusieurs histogrammes avec sous-parcelles
- Histogramme empilé
- Histogramme 2D (tracé Hexbin)
Créer un histogramme de base dans Matplotlib
Créons un histogramme de base dans Matplotlib en utilisant Python de certaines valeurs aléatoires.
mot-clé statique en Java
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()> |
>
>
Sortir:
Histogramme personnalisé dans Matplotlib avec tracé de densité
Créons un histogramme personnalisé avec un tracé de densité à l'aide de Matplotlib et Seaborn en Python. Le tracé résultant visualise la distribution de données aléatoires avec une estimation de densité lisse.
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()> |
>
>
Sortir:
Histogramme personnalisé avec filigrane
Créez un histogramme personnalisé à l'aide de Matplotlib en Python avec des fonctionnalités spécifiques. Il comprend des éléments de style supplémentaires, tels que la suppression des graduations d'axe, l'ajout d'un remplissage et la définition d'un dégradé de couleurs pour une meilleure visualisation.
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()> |
>
tri à bulles Java
>
Sortir :
Plusieurs histogrammes avec sous-parcelles
Générons deux histogrammes côte à côte à l'aide de Matplotlib en Python, chacun avec son propre ensemble de données aléatoires et fournissons une comparaison visuelle des distributions dedata1>
etdata2>
en utilisant des histogrammes.
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()> |
qu'est-ce qu'une pile Java
>
>
Sortir:
Histogramme empilé utilisant Matplotlib
Générons un histogramme empilé à l'aide de Matplotlib en Python, représentant deux ensembles de données avec des distributions de données aléatoires différentes. L'histogramme empilé fournit un aperçu de la distribution de fréquence combinée des deux ensembles de données.
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()> |
>
>
Sortir:
Tracer un histogramme 2D (Hexbin Plot) à l'aide de Matplotlib
Générons un tracé hexbin 2D à l'aide de Matplotlib en Python, fournissons une représentation visuelle de la distribution des données 2D, où les hexagones transmettent la densité des points de données. La barre de couleurs permet d'interpréter la densité des points dans différentes régions du tracé.
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()> |
np rembourrage
>
>
Sortir:
Conclusion
Tracer des histogrammes Matplotlib est un processus simple et direct. En utilisant lehist()>
fonction, nous pouvons facilement créer des histogrammes avec différentes largeurs de bac et bords de bac. Nous pouvons également personnaliser l'apparence des histogrammes pour répondre à nos besoins