2014-03-29 5 views
2

У меня есть массив numpy, содержащий значения float в [-10..10]. Я хотел бы построить распределительный-график значений, как это (здесь это делается для биномиальной случайной величины):График распределения массива

enter image description here

Например, я хотел бы бары подсчета количества элементов в каждом интервале [-10, -9.5], [-9.5, -9], ..., [9.5, 10].

Как подготовить такой участок распределения с Python?

ответ

7

Действительно Matplotlib, более точно вы найдете образцы кода, соответствующего тому, что вы после на: http://matplotlib.org/examples/pylab_examples/histogram_demo_extended.html

import numpy as np 
import matplotlib.pyplot as plt 
mu, sigma = 200, 25 
x = mu + sigma*np.random.randn(10000) 
n, bins, patches = plt.hist(x) 
plt.show() 

n содержит количество точек в каждом бункере и bins отрезанные значения, которые в моем примере генерируются автоматически. Конечно, вы можете сыграть с параметрами plt.hist, чтобы получить график, который вы хотите.

В вашем случае, просто замените x на массиве, и играть с bins вариантом для отрезанных значений, например:

plt.hist(x, bins = [-10, -9.5, -9]) 

Вы можете также simlply передать скалярную n к bins в этом случае plt.hist будет определять отключите значения, чтобы отобразить хороший график с ячейками n.

Смежные вопросы