Как получить столбцы высоты гистограммы P (x), соответствующие данному x? - PullRequest
1 голос
/ 08 мая 2011

Я относительно новичок в питоне.Я построил гистограмму (скажем, P (r)) гауссовых случайных чисел (r), используя приведенный ниже код, где я использовал команду numpy.hist.Как я могу теперь получить значение P (r), соответствующее данному значению r?Я имею в виду, что мне нужна высота столбца, соответствующая данному значению на оси х гистограммы.Код, который я использую, следующий:

import random 

sig=0.2 # width of the Gaussian

N=100000
nbins=100

R=[]
for i in range(100000):
    r=random.gauss(0,sig)
    R.append(r)
    i=i+1

import numpy as np
import matplotlib.pyplot as pl

pl.hist(R,nbins,normed=True)
pl.show()

1 Ответ

3 голосов
/ 08 мая 2011

Функция hist() возвращает искомую информацию:

n, bins, patches = pl.hist(R, nbins, normed=True)

n - массив высот стержня, а bins - массив границ ячейки.В данном примере len(n) будет 100, а len(bins) будет 101.

Учитывая некоторое значение x, вы можете использовать numpy.searchsorted(), чтобы найти индекс бина, которому принадлежит это значение,а затем используйте n[index], чтобы извлечь соответствующую высоту стержня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...