logo

Tracer un histogramme en Python à l'aide de Matplotlib

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 en Python en utilisant Matplotlib

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 Matplotlib

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 :

Histogramme utilisant Matplotlib

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:

Capture d'écran-2023-12-05-222526

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:

Capture d'écran-2023-12-05-222933

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:

Capture d'écran-2023-12-05-222826

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