Notez que vous voudrez superposer la fréquence et le rapport cumulés sur l'histogramme comme indiqué dans la figure ci-dessous.
Lorsque vous tracez l'histogramme, vous pouvez obtenir les informations de fréquence et de casier à partir de la valeur de retour de pyplot.hist ()
, alors utilisez-la pour calculer le rapport cumulatif sur le deuxième axe et superposez-le à l'endroit approprié. Le code est ci-dessous (partie principale uniquement)
"""Ajouter le ratio cumulatif à l'histogramme"""
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# % matplotlib inline
#Terrain dans le style marin
sns.set(style="darkgrid", palette="muted", color_codes=True)
#Génération de données de jouets
np.random.seed(0)
dt = np.random.normal(size=100)
fig, ax1 = plt.subplots()
#Obtenir des informations sur l'histogramme et le bac
n, bins, patches = ax1.hist(dt, alpha=0.7, label='Frequency')
#Calcul des valeurs pour le 2ème axe
y2 = np.add.accumulate(n) / n.sum()
x2 = np.convolve(bins, np.ones(2) / 2, mode="same")[1:]
#Graphique du 2ème axe
ax2 = ax1.twinx()
lines = ax2.plot(x2, y2, ls='--', color='r', marker='o',
label='Cumulative ratio')
ax2.grid(visible=False)
plt.show()
La version complète est disponible pour ceux qui veulent ajouter une légende ou quelque chose ici. ~~ Comment faites-vous lorsque vous utilisez seaborn.FacetGrid ()
~~ Je l'ai écrit.
Ajouter le ratio cumulatif à l'histogramme 2 de maplotlib ~ Utiliser FacetGrid ~
Recommended Posts