Установка относительной частоты в гистограмме matplotlib

У меня есть данные в виде списка чисел с плавающей запятой, и я хочу построить их в виде гистограммы. Функция Hist() отлично справляется с построением абсолютной гистограммы. Однако я не могу понять, как представить его в формате относительной частоты - я хотел бы иметь его в виде дроби или, в идеале, в процентах по оси Y.

Вот код:

fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, patches = ax.hist(mydata, bins=100, normed=1, cumulative=0)
ax.set_xlabel('Bins', size=20)
ax.set_ylabel('Frequency', size=20)
ax.legend

plt.show()

Я думал, что аргумент normed=1 подойдет, но он дает слишком большие дроби, а иногда и больше 1. Похоже, они также зависят от размера ячейки, как если бы они не нормализуется по размеру корзины или что-то в этом роде. Тем не менее, когда я устанавливаю cumulative=1, в сумме получается 1. Итак, в чем подвох? Кстати, когда я ввожу те же данные в Origin и рисую их, он дает мне совершенно правильные дроби. Спасибо!

24
задан easwee 6 January 2015 в 11:58
поделиться