[PYTHON] Comment dessiner un graphique à barres qui résume plusieurs séries avec matplotlib

Pour rappel, je n'avais pas un bon article.

# version
matplotlib == 3.2.2

import numpy as np
import matplotlib.pyplot as plt

#Barre verticale
def barplot(ax, labels, datas):
    x = np.arange(len(labels))  # the label locations
    width = 0.35  # the width of the bars

    rects1 = ax.bar(x - width/2, datas[0]["val"], width, label=datas[0]["label"])
    rects2 = ax.bar(x + width/2, datas[1]["val"], width, label=datas[1]["label"])

    # Add some text for labels, title and custom x-axis tick labels, etc.
    ax.set_xticks(x)
    ax.set_xticklabels(labels)

#Barre horizontale
def barhplot(ax, labels, datas):
    x = np.arange(len(labels))  # the label locations
    width = 0.35  # the width of the bars

    rects1 = ax.barh(x - width/2, datas[0]["val"], width, label=datas[0]["label"])
    rects2 = ax.barh(x + width/2, datas[1]["val"], width, label=datas[1]["label"])

    # Add some text for labels, title and custom x-axis tick labels, etc.
    ax.set_yticks(x)
    ax.set_yticklabels(labels)
    plt.gca().invert_yaxis()

L'utilisation est la suivante.


labels = ['G1', 'G2', 'G3', 'G4', 'G5']
datas = [
    {"label": "men1", "val": [20, 34, 30, 35, 27]},
    {"label": "women2", "val": [25, 32, 34, 20, 25]}]
fig, ax = plt.subplots()
# barhplot(ax, labels, datas)
barplot(ax, labels, datas)
plt.legend()
plt.show()

Dans le cas de 3 ou plus, il est nécessaire d'ajuster la largeur et de les disposer.

Recommended Posts

Comment dessiner un graphique à barres qui résume plusieurs séries avec matplotlib
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Comment dessiner un graphique avec Matplotlib
Comment dessiner un graphique à 2 axes avec pyplot
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
[Dessin graphique] J'ai essayé d'écrire un graphique à barres multi-séries avec matplotlib et seaborn
[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
Dessinez un graphique lâche avec matplotlib
Comment titrer plusieurs figures avec matplotlib
Dessinez une surface plane avec un graphique 3D matplotlib
Comment dessiner un graphique 3D avant l'optimisation
(Matplotlib) Je veux dessiner un graphique avec une taille spécifiée en pixels
[Python] Comment dessiner un histogramme avec Matplotlib
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Dessinez un graphique avec NetworkX
Dessinez un graphique avec networkx
Étudier les mathématiques avec Python: dessiner un graphe sympy (scipy) avec matplotlib
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
[Visualisation] Je veux dessiner un beau graphique avec Plotly
Tracez un graphe avec Julia + PyQtGraph (2)
Tracez un graphique avec Julia + PyQtGraph (1)
Dessinez un graphique avec Julia + PyQtGraph (3)
Dessinez un graphique avec des pandas + XlsxWriter
Dessinez facilement des graphiques avec matplotlib
Dessinez un graphique avec l'interface graphique PySimple
Comment tracer beaucoup de légendes en changeant la couleur du graphique en continu avec matplotlib
Comment ajouter un package avec PyCharm
matplotlib Ecrire du texte dans un graphique de séries chronologiques
Dessinez un graphique avec PyQtGraph Part 1-Drawing
Créer un graphique avec des bordures supprimées avec matplotlib
Comment appeler une requête POST prenant en charge le japonais (Shift-JIS) avec des requêtes
[Petite histoire] Comment enregistrer des graphiques matplotlib dans un lot avec Jupyter
Comment dessiner une ligne verticale sur une carte de chaleur dessinée avec Python Seaborn
Comment attribuer plusieurs valeurs à la barre de couleurs Matplotlib
Notes pour créer des figures pouvant être publiées dans des revues avec matplotlib
Comment lire un fichier CSV avec Python 2/3
Comment envoyer un message à LINE avec curl
Dessinez un graphique avec des étiquettes japonaises dans Jupyter
Comment ignorer la représentation graphique de corrélation avec le profilage de pandas
Mémo qui a fait un graphique pour animer avec intrigue
Dessinez un graphique en traitant avec Pandas groupby
Si vous ne savez pas comment dessiner le graphique que vous voulez avec matplotlib, il est pratique de regarder la galerie
[Python] Dessinez un graphe orienté avec Dash Cytoscape
Essayez de dessiner une courbe de vie avec python
Je souhaite afficher plusieurs images avec matplotlib.
Comment créer un dictionnaire avec une structure hiérarchique.
Créez un graphique empilé correspondant aux directions positives et négatives avec matplotlib
Dessinez un graphique avec les paramètres PyQtGraph Part 4-PlotItem
Comment afficher des images en continu avec matplotlib Memo
Procédure de création d'application multi-plateforme avec kivy
Dessinez un graphique avec PyQtGraph Partie 6 - Affichage d'une légende
Dessinez plusieurs photos de plusieurs dossiers sur un graphique
Comment renvoyer plusieurs index avec la méthode d'index
Une nouvelle forme d'application qui fonctionne avec GitHub: Comment créer des applications GitHub
J'ai créé un graphique à barres empilées avec matplotlib de Python et ajouté une étiquette de données
Dessinez un graphique avec PyQtGraph Partie 5-Augmentez l'axe Y
Comment convertir / restaurer une chaîne avec [] en python
Comment créer un sous-menu avec le plug-in [Blender]