Beachten Sie, dass Sie die kumulative Häufigkeit und das kumulative Verhältnis im Histogramm überlagern möchten, wie in der folgenden Abbildung dargestellt.
Wenn Sie das Histogramm zeichnen, können Sie die Frequenz- und Bin-Informationen aus dem Rückgabewert von "pyplot.hist ()" abrufen. Verwenden Sie ihn also, um das kumulative Verhältnis auf der zweiten Achse zu berechnen und an der entsprechenden Stelle zu überlagern. Der Code ist unten (nur Hauptteil)
"""Fügen Sie dem Histogramm ein kumulatives Verhältnis hinzu"""
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# % matplotlib inline
#Grundstück im seegeborenen Stil
sns.set(style="darkgrid", palette="muted", color_codes=True)
#Generierung von Spielzeugdaten
np.random.seed(0)
dt = np.random.normal(size=100)
fig, ax1 = plt.subplots()
#Informationen zum Histogrammplot und zum Bin abrufen
n, bins, patches = ax1.hist(dt, alpha=0.7, label='Frequency')
#Berechnung der Werte für die 2. Achse
y2 = np.add.accumulate(n) / n.sum()
x2 = np.convolve(bins, np.ones(2) / 2, mode="same")[1:]
#Diagramm der 2. Achse
ax2 = ax1.twinx()
lines = ax2.plot(x2, y2, ls='--', color='r', marker='o',
label='Cumulative ratio')
ax2.grid(visible=False)
plt.show()
Die Vollversion ist für diejenigen verfügbar, die eine Legende oder etwas hinzufügen möchten hier. ~~ Wie machst du das, wenn du seaborn.FacetGrid ()
~~ verwendest? ~~ Ich habe es geschrieben.
Kumulatives Verhältnis zum Maplotlib-Histogramm 2 hinzufügen ~ FacetGrid verwenden ~
Recommended Posts