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
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