2013-11-21 4 views
4

Я сделал гистограмму функции «cdf» (кумулятивное распределение) функции. Гистограмма - это, в основном, количество отсчетов против светимости. Теперь, как извлечь данные из гистограммы? Мне нужны фактические значения светимостей. Я использую Matplotlib в Python, и любая онлайн-книга, например, учебник и т. Д. Не помогает.Получить данные точек из гистограммы в Python

l= [ss.gammainccinv(aa+1, u[i]) for i in a] #is the cdf function 
plt.hist(l, 50, histtype= 'step', align='mid') #is the histogram 
plt.show() 

Я не уверен, если я должен выровнять бункера к краям или средней точке, но все, что мне нужно, это список единиц.

Любые предложения были бы высоко оценены!

ответ

8

У вас уже есть список l, поэтому я не уверен, что вы подразумеваете под этим последним утверждением, так что, возможно, я неверно истолковал вопрос.

Чтобы получить значения из гистограммы, plt.hist возвращает их, поэтому все, что вам нужно сделать, это сохранить их.

Если вы не сохраните их, интерпретатор просто печатает вывод:

In [34]: x = np.random.rand(100) 

In [35]: plt.hist(x) 
Out[35]: 
(array([ 11., 9., 10., 6., 8., 8., 10., 10., 11., 17.]), 
array([ 0.00158591, 0.100731 , 0.19987608, 0.29902116, 0.39816624, 
     0.49731133, 0.59645641, 0.69560149, 0.79474657, 0.89389165, 
     0.99303674]), 
<a list of 10 Patch objects>) 

Таким образом, чтобы сохранить их, сделайте следующее:

counts, bins, bars = plt.hist(x) 
+0

да, все, что мне нужно было сделать «печать l "вместо" print l [i] ". Это дало только первое число из массива. Или номер. Изучение глупых ошибок. Спасибо! :) – user3014593