logo

Terrain à barres dans Matplotlib

Un diagramme à barres ou un diagramme à barres est un graphique qui représente la catégorie de données avec des barres rectangulaires dont les longueurs et les hauteurs sont proportionnelles aux valeurs qu'elles représentent. Les tracés à barres peuvent être tracés horizontalement ou verticalement. Un graphique à barres décrit les comparaisons entre les catégories discrètes. L'un des axes du tracé représente les catégories spécifiques comparées, tandis que l'autre axe représente les valeurs mesurées correspondant à ces catégories.

Création d'un tracé à barres

Le matplotlib L'API en Python fournit la fonction bar() qui peut être utilisée dans le style MATLAB ou comme API orientée objet. La syntaxe de la fonction bar() à utiliser avec les axes est la suivante :-



plt.bar(x, height, width, bottom, align)>

La fonction crée un tracé à barres délimité par un rectangle en fonction des paramètres donnés. Voici un exemple simple de graphique à barres, qui représente le nombre d'étudiants inscrits dans différents cours d'un institut.

Python3








import> numpy as np> import> matplotlib.pyplot as plt> > # creating the dataset> data>=> {>'C'>:>20>,>'C++'>:>15>,>'Java'>:>30>,> >'Python'>:>35>}> courses>=> list>(data.keys())> values>=> list>(data.values())> > fig>=> plt.figure(figsize>=> (>10>,>5>))> # creating the bar plot> plt.bar(courses, values, color>=>'maroon'>,> >width>=> 0.4>)> plt.xlabel(>'Courses offered'>)> plt.ylabel(>'No. of students enrolled'>)> plt.title(>'Students enrolled in different courses'>)> plt.show()>

>

>

Sortir-

Language de machine

Ici, plt.bar(courses, values, color='maroon') est utilisé pour spécifier que le graphique à barres doit être tracé en utilisant la colonne des cours comme axe X et les valeurs comme axe Y. L'attribut color est utilisé pour définir la couleur des barres (marron dans ce cas). plt.xlabel (Cours proposés) et plt.ylabel (étudiants inscrits) sont utilisés pour étiqueter les axes correspondants.plt.title () est utilisé pour créer un titre pour graph.plt.show() est utilisé pour afficher le graphique en sortie à l'aide des commandes précédentes.

Personnalisation du tracé à barres

Python3




import> pandas as pd> from> matplotlib>import> pyplot as plt> # Read CSV into pandas> data>=> pd.read_csv(r>'cars.csv'>)> data.head()> df>=> pd.DataFrame(data)> name>=> df[>'car'>].head(>12>)> price>=> df[>'price'>].head(>12>)> # Figure Size> fig>=> plt.figure(figsize>=>(>10>,>7>))> # Horizontal Bar Plot> plt.bar(name[>0>:>10>], price[>0>:>10>])> # Show Plot> plt.show()>

>

>

Sortir:

On observe dans le graphique à barres ci-dessus que les graduations de l'axe X se chevauchent et ne peuvent donc pas être vues correctement. Ainsi, en faisant pivoter les graduations de l’axe X, il peut être clairement visible. C'est pourquoi une personnalisation des graphiques à barres est requise.

Python3


carte java de l'itérateur



import> pandas as pd> from> matplotlib>import> pyplot as plt> # Read CSV into pandas> data>=> pd.read_csv(r>'cars.csv'>)> data.head()> df>=> pd.DataFrame(data)> name>=> df[>'car'>].head(>12>)> price>=> df[>'price'>].head(>12>)> # Figure Size> fig, ax>=> plt.subplots(figsize>=>(>16>,>9>))> # Horizontal Bar Plot> ax.barh(name, price)> # Remove axes splines> for> s>in> [>'top'>,>'bottom'>,>'left'>,>'right'>]:> >ax.spines[s].set_visible(>False>)> # Remove x, y Ticks> ax.xaxis.set_ticks_position(>'none'>)> ax.yaxis.set_ticks_position(>'none'>)> # Add padding between axes and labels> ax.xaxis.set_tick_params(pad>=> 5>)> ax.yaxis.set_tick_params(pad>=> 10>)> # Add x, y gridlines> ax.grid(b>=> True>, color>=>'grey'>,> >linestyle>=>'-.'>, linewidth>=> 0.5>,> >alpha>=> 0.2>)> # Show top values> ax.invert_yaxis()> # Add annotation to bars> for> i>in> ax.patches:> >plt.text(i.get_width()>+>0.2>, i.get_y()>+>0.5>,> >str>(>round>((i.get_width()),>2>)),> >fontsize>=> 10>, fontweight>=>'bold'>,> >color>=>'grey'>)> # Add Plot Title> ax.set_title(>'Sports car and their price in crore'>,> >loc>=>'left'>, )> # Add Text watermark> fig.text(>0.9>,>0.15>,>'Jeeteshgavande30'>, fontsize>=> 12>,> >color>=>'grey'>, ha>=>'right'>, va>=>'bottom'>,> >alpha>=> 0.7>)> # Show Plot> plt.show()>

>

>

Sortir:

Il existe de nombreuses autres personnalisations disponibles pour les tracés à barres.

Graphiques à barres multiples

Plusieurs diagrammes à barres sont utilisés lorsqu'une comparaison entre l'ensemble de données doit être effectuée lorsqu'une variable change. Nous pouvons facilement le convertir sous forme de graphique à barres empilées, où chaque sous-groupe est affiché les uns au-dessus des autres. Il peut être tracé en faisant varier l'épaisseur et la position des barres. Le graphique à barres suivant montre le nombre d'étudiants réussis dans la branche ingénierie :

Python3


alternatives à watchcartoononline.io



import> numpy as np> import> matplotlib.pyplot as plt> # set width of bar> barWidth>=> 0.25> fig>=> plt.subplots(figsize>=>(>12>,>8>))> # set height of bar> IT>=> [>12>,>30>,>1>,>8>,>22>]> ECE>=> [>28>,>6>,>16>,>5>,>10>]> CSE>=> [>29>,>3>,>24>,>25>,>17>]> # Set position of bar on X axis> br1>=> np.arange(>len>(IT))> br2>=> [x>+> barWidth>for> x>in> br1]> br3>=> [x>+> barWidth>for> x>in> br2]> # Make the plot> plt.bar(br1, IT, color>=>'r'>, width>=> barWidth,> >edgecolor>=>'grey'>, label>=>'IT'>)> plt.bar(br2, ECE, color>=>'g'>, width>=> barWidth,> >edgecolor>=>'grey'>, label>=>'ECE'>)> plt.bar(br3, CSE, color>=>'b'>, width>=> barWidth,> >edgecolor>=>'grey'>, label>=>'CSE'>)> # Adding Xticks> plt.xlabel(>'Branch'>, fontweight>=>'bold'>, fontsize>=> 15>)> plt.ylabel(>'Students passed'>, fontweight>=>'bold'>, fontsize>=> 15>)> plt.xticks([r>+> barWidth>for> r>in> range>(>len>(IT))],> >[>'2015'>,>'2016'>,>'2017'>,>'2018'>,>'2019'>])> plt.legend()> plt.show()>

>

>

Sortir:

Graphique à barres empilées

Les diagrammes à barres empilées représentent différents groupes les uns sur les autres. La hauteur de la barre dépend de la hauteur résultant de la combinaison des résultats des groupes. Cela va du bas vers la valeur au lieu de passer de zéro à la valeur. Le diagramme à barres suivant représente la contribution des garçons et des filles dans l’équipe.

Python3




import> numpy as np> import> matplotlib.pyplot as plt> N>=> 5> boys>=> (>20>,>35>,>30>,>35>,>27>)> girls>=> (>25>,>32>,>34>,>20>,>25>)> boyStd>=> (>2>,>3>,>4>,>1>,>2>)> girlStd>=> (>3>,>5>,>2>,>3>,>3>)> ind>=> np.arange(N)> width>=> 0.35> fig>=> plt.subplots(figsize>=>(>10>,>7>))> p1>=> plt.bar(ind, boys, width, yerr>=> boyStd)> p2>=> plt.bar(ind, girls, width,> >bottom>=> boys, yerr>=> girlStd)> plt.ylabel(>'Contribution'>)> plt.title(>'Contribution by the teams'>)> plt.xticks(ind, (>'T1'>,>'T2'>,>'T3'>,>'T4'>,>'T5'>))> plt.yticks(np.arange(>0>,>81>,>10>))> plt.legend((p1[>0>], p2[>0>]), (>'boys'>,>'girls'>))> plt.show()>

>

>

Sortir-