[PYTHON] Fügen Sie dem Balkendiagramm von matplotlib ein kumulatives Verhältnis hinzu

Eine Reihe, die dem matplotlib-Diagramm kumulative Verhältnisse hinzufügt. Kumulatives Verhältnis zum Balkendiagramm hinzugefügt. Klicken Sie hier für das fertige Grundstück mlt_barplot_with_ratio.png

Der Punkt ist, dass matplotlib.bar () keine kategorialen Variablen angeben kann, wie sie für den Namen bar gelten. Daher muss angegeben werden, wo auf der x-Achse gezeichnet werden soll. Insbesondere wird "numpy.arange ()" usw. verwendet, um Seriennummern und Indizes für die Anzahl der Kategorien zu generieren und die Position der x-Achse anzugeben.

"""Beispiel für das Hinzufügen eines kumulativen Verhältnisses zu einem Balkendiagramm von Maptlolib"""
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns

#Plot cool im seegeborenen Stil
# % matplotlib inline
sns.set(style="darkgrid", palette="muted", color_codes=True)

#Generierung von Spielzeugdaten
df = pd.DataFrame({'group': ['A', 'B', 'C', 'D', 'E'],
                   'value': [20, 30, 10, 50, 40]})

#Geben Sie die Plotposition der x-Achse an
#Es muss generiert werden, da dies nicht ohne Erlaubnis möglich ist.
x_idx = np.arange(df.shape[0])

#Holen Sie sich Feige und Axt für die Handlung
fig, ax = plt.subplots()

#Balkendiagramm hinzugefügt (1. Achse)
bar = ax.bar(left=x_idx,
             height=df['value'],
             align='center',
             tick_label=df['group'],
             alpha=0.7
             )

#Berechnen Sie das kumulative Verhältnis für die 2. Achse
df['accumulative_ratio'] = df['value'].cumsum() / df['value'].sum()

#Kumulatives Liniendiagramm zur 2. Achse hinzugefügt
ax2 = ax.twinx()
line = ax2.plot(x_idx,
                df['accumulative_ratio'],
                ls='--',
                marker='o',
                color='r'
                )
ax2.grid(visible=False)
plt.show()

Der vollständige Code mit der hinzugefügten Legende ist in Gist angegeben.

Recommended Posts

Fügen Sie dem Balkendiagramm von matplotlib ein kumulatives Verhältnis hinzu
Fügen Sie dem Matplotlib-Histogramm ein kumulatives Verhältnis hinzu
Add kumulatives Verhältnis zum Maplotlib-Histogramm 2 ~ Verwenden Sie FacetGrid ~
So fügen Sie dem Balkendiagramm von matplotlib einen Farbbalken hinzu
Fügen Sie der Heatmap (Python, Matplotlib) eine diagonale Linie (Schraffur) hinzu.
Fügen Sie mit Matplotlib Informationen am unteren Rand der Abbildung hinzu
Faltung zu MNIST hinzufügen
Wie benutzt man Matplotlib?
Hinzufügen neuer Daten (gerade Linien und Diagramme) mit matplotlib