[PYTHON] Ajouter le ratio cumulatif au graphique à barres de matplotlib

Une série qui ajoute des ratios cumulatifs au graphique matplotlib. Ajout du ratio cumulatif au graphique à barres. Cliquez ici pour le tracé terminé mlt_barplot_with_ratio.png

Le fait est que matplotlib.bar () ne peut pas spécifier de variables catégorielles comme pour le nom bar, il est donc nécessaire de dire où tracer sur l'axe des x. Plus précisément, numpy.arange () etc. est utilisé pour générer des numéros de série et des index pour le nombre de catégories et indiquer l'emplacement de l'axe des x.

"""Exemple d'ajout d'un ratio cumulatif à un graphique à barres de maptlolib"""
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns

#Terrain cool dans le style marin
# % matplotlib inline
sns.set(style="darkgrid", palette="muted", color_codes=True)

#Génération de données de jouets
df = pd.DataFrame({'group': ['A', 'B', 'C', 'D', 'E'],
                   'value': [20, 30, 10, 50, 40]})

#Spécifier la position du tracé sur l'axe des x
#Il doit être généré car il ne le fait pas sans autorisation.
x_idx = np.arange(df.shape[0])

#Obtenez figue et hache pour l'intrigue
fig, ax = plt.subplots()

#Graphique à barres ajouté (1er axe)
bar = ax.bar(left=x_idx,
             height=df['value'],
             align='center',
             tick_label=df['group'],
             alpha=0.7
             )

#Calculer le rapport cumulatif pour le 2ème axe
df['accumulative_ratio'] = df['value'].cumsum() / df['value'].sum()

#Ajout d'un graphique linéaire cumulatif au 2ème axe
ax2 = ax.twinx()
line = ax2.plot(x_idx,
                df['accumulative_ratio'],
                ls='--',
                marker='o',
                color='r'
                )
ax2.grid(visible=False)
plt.show()

Le code complété avec la légende ajoutée est donné dans Gist.

Recommended Posts

Ajouter le ratio cumulatif au graphique à barres de matplotlib
Ajouter le ratio cumulatif à l'histogramme matplotlib
Ajouter le ratio cumulatif à l'histogramme maplotlib 2 ~ Utiliser FacetGrid ~
Comment ajouter une barre de couleur dans le graphique à barres de matplotlib
Ajouter une ligne diagonale (hachures) à la carte thermique (python, matplotlib)
Ajoutez des informations au bas de la figure avec Matplotlib
Ajouter une convolution à MNIST
Comment utiliser Matplotlib
Comment ajouter de nouvelles données (lignes droites et tracés) à l'aide de matplotlib