Berechne es einfach und normalisiere es auf einen beliebigen Wert, dann benutze bar
, um das Histogramm zu plotten.
Als Randnotiz werden die Dinge so normalisiert, dass der Bereich aller Balken normed_value
ist. Die rohe Summe wird nicht sein normed_value
(obwohl es leicht ist, dass das der Fall ist, wenn Sie möchten).
z. B.
%Vor%
Wenn wir in diesem Fall also die Bins integrieren (Summe aus der Höhe multipliziert mit der Breite), erhalten wir 2.0 statt 1.0. (d. h. (hist * widths).sum()
ergibt 2.0
)
Sie können ein weights
Argument an hist
übergeben, anstatt normed
. Zum Beispiel, wenn Ihre Bins das Intervall [minval, maxval]
abdecken, haben Sie n
Bins, und Sie möchten den Bereich auf A
normalisieren, dann denke ich
sollte den Trick machen.
EDIT: Das Argument weights
muss die gleiche Größe wie x
haben, und sein Effekt besteht darin, dass jeder Wert in x den entsprechenden Wert in weights
anstelle von 1 zu der Bin-Zählung beiträgt.
Ich denke, dass die hist
-Funktion wahrscheinlich eine bessere Kontrolle der Normalisierung ermöglicht. Zum Beispiel, ich denke, wie es aussieht, werden Werte außerhalb des Binned-Bereichs ignoriert, wenn normalisiert wird, was im Allgemeinen nicht das ist, was Sie wollen.
Tags und Links python matplotlib histogram area