ich ein Python-Skript erstellt, das eine Reihe von Daten aus einer Datei zeichnet dann paßt es mit einer Gauß'schen Kurve. Das rote Stufenhistogramm ist eine Menge von Daten, deren Mittelwert ich mit einem realen Datenwert vergleichen möchte, der die blaue gestrichelte Linie ist. Die Gaußsche Anpassung ist am unteren Rand des Graphen kaum sichtbar, es ist eine gestrichelte grüne Linie. Ich kann nicht herausfinden, warum der Fit flach ist statt einer Kurve, da der Mittelwert und das Sigma, die berechnet werden, korrekt sind; Sie sind der Titel des Graphen.Gaußsche Anpassung an Histogramm ist flach
My Source Code
from scipy.stats import norm
import scipy, pylab
import numpy as np
import matplotlib.pyplot as plt
df = numpy.loadtxt('CR_count_TAL=0.10472.dat',dtype='str')
for num in range(1):
nu=df[num].astype('float')
data = nu[1]
mc=df[2:numpy.size(nu)]
#plot the MC distribution
#hist(nu[2:size(nu)],bins=100,color='r',range=(100,500),histtype='step')
#plot the dataline
axvline(data,color='b',linewidth=2, linestyle='--')
#fit a gaussian
#(mu, sigma) = norm.fit(nu)
plt.hist(nu[2:size(nu)],bins=100,color='r',range=(100,500),histtype='step')
y = mlab.normpdf(bins, mu, sigma)
l = plt.plot(bins, y, 'g', linewidth = 2, linestyle='--')
plt.title(r'$\ \mu=%.3f,\ \sigma=%.3f$' %(mu, sigma))
plt.show()
Ich machte diese Korrektur, außer jetzt bekomme ich überhaupt keine Gauß'sche Anpassung – Mike