Depuis matplotlib 3.0.2, normed=True
est déprécié. Pour obtenir le résultat souhaité, j'ai dû faire :
import numpy as np
data=np.random.randn(1000)
bins=np.arange(-3.0,3.0,51)
counts, _ = np.histogram(data,bins=bins)
if density: # equivalent of normed=True
counts_weighter=counts.sum()
else: # equivalent of normed=False
counts_weighter=1.0
plt.hist(bins[:-1],bins=bins,weights=counts/counts_weighter)
Essayer de spécifier weights
y density
simultanément comme arguments à plt.hist()
n'a pas fonctionné pour moi. Si quelqu'un connaît un moyen de le faire fonctionner sans avoir accès à l'argument du mot-clé normalisé, veuillez me le faire savoir dans les commentaires et je supprimerai/modifierai cette réponse.
Si vous voulez des centres de poubelles, ne les utilisez pas. bins[:-1]
qui sont les bords du bac - vous devez choisir un schéma approprié pour calculer les centres (qui peuvent ou non être dérivés de manière triviale).
7 votes
Je sais que c'est vieux, mais pour référence future & toute personne qui visite cette page, ce type d'axe est appelé un axe de "densité de probabilité" !
0 votes
Para
density
: Tracez un histogramme tel que la surface totale de l'histogramme soit égale à 1 (densité).