Bonjour,

Je souhaite construire un histogramme normalisé par rapport à l'élément le plus présent (et donc avoir le max à 1).

Pour le moment je construis mon histogramme

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
import numpy as np
import matplotlib.pyplot as plt
val = np.random.normal(0,1,1000)
x,bins,p= plt.hist(val,range=(0,1),bins=100, histtype = 'step')

J'ai vu que l'on pouvais avoir l'air sous la courbe égal à 1 avec l'option "normed" mais ce n'est pas ce que je veux.

J'ai essayé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
for item in p:
    item.set_height(item.get_height()/np.argmax(x))
mais j'obtiens l'erreur : AttributeError: 'Polygon' object has no attribute 'set_height'

Je pensais effectuer l'opération directement sur la sortie "x", mais je n'arrive pas à reconstruire mon histogramme à partir de la sortie "x" modifiée et du "bins".

Quelqu'un aurait une idée? Je cherche une fonction pour construire mon histogramme directement à partir de mon x contenant le poids des éléments et de mon bins contenant les intervalles. Tout autre idées est la bien venue.

Merci d'avance pour votre aide