2015-01-10 20 views
5

Ho bisogno di creare un istogramma che traccia una linea e non un grafico a passo o bar. Sto usando Python 2.7 La funzione plt.hist sotto traccia una linea a gradini e bidoni non si allineano nella funzione plt.plot.C'è un modo pulito per generare un grafico a istogrammi linea in Python?

import matplotlib.pyplot as plt 
import numpy as np 
noise = np.random.normal(0,1,(1000,1)) 
(n,x,_) = plt.hist(noise, bins = np.linspace(-3,3,7), histtype=u'step') 
plt.plot(x[:-1],n) 

Ho bisogno la linea di correlare con il conteggio di ogni bin presso i centri di bin come se ci fosse un histtype = u'line 'bandiera per andare con l'align = u'mid' bandiera

+0

a differenza dei siti del forum, non usiamo "Grazie" o "Qualsiasi aiuto apprezzato", o firme su [così]. Vedere "[Nel caso in 'Ciao', 'grazie', slogan, e saluti essere rimossi dai messaggi?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -Rimosso-da-messaggi). –

risposta

5

Utilizzando SciPy , si potrebbe use stats.gaussian_kde-estimate the probability density function:

import matplotlib.pyplot as plt 
import numpy as np 
import scipy.stats as stats 

noise = np.random.normal(0, 1, (1000,)) 
density = stats.gaussian_kde(noise) 
n, x, _ = plt.hist(noise, bins=np.linspace(-3, 3, 50), 
        histtype=u'step', normed=True) 
plt.plot(x, density(x)) 
plt.show() 

enter image description here

2

Matplotlib's thumbnail gallery di solito è molto utile in situazioni come yo Urs. Una combinazione di this e this one dalla galleria con alcune personalizzazioni è probabilmente molto vicino a quello che avete in mente:

import numpy as np 
import matplotlib.mlab as mlab 
import matplotlib.pyplot as plt 

mu = 0 
sigma = 1 
noise = np.random.normal(mu, sigma, size=1000) 
num_bins = 7 
n, bins, _ = plt.hist(noise, num_bins, normed=1, histtype='step') 
y = mlab.normpdf(bins, mu, sigma) 
plt.plot(bins, y, 'r--') 
plt.show() 

enter image description here

Inoltre, aumentando il numero di bin aiuta ...

enter image description here

Problemi correlati