Я пытаюсь построить гистограмму с му и сигмой.Построение гистограммы
Я пытаюсь использовать значения ec_scores на оси y, чтобы показать мне 0,1 до 1,0 Это дает мне 1, 2, 3, 4, 5, 6 по оси y. Я не получаю никаких ошибок, но это полностью отбрасывает график. Пожалуйста, помогите мне и скажите мне, что я делаю неправильно, и как я могу получить график, который будет сгенерирован должным образом. Спасибо.
Это мой код:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
x = np.array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
ec_scores = np.array([1., 1., 1., 0.95923677, 0.94796184, 1., 0.76669558, 1., 0.99913194, 1.])
mu, sigma = (np.mean(ec_scores), np.std(ec_scores))
fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, patches = ax.hist(x, 50, normed=1, facecolor='blue', alpha=0.75)
bincenters = 0.5*(bins[1:]+bins[:-1])
y = mlab.normpdf(bincenters, mu, sigma)
l = ax.plot(bincenters, y, 'r--', linewidth=1)
ax.set_xlabel('Parameters')
ax.set_ylabel('EC scores ')
plt.plot(x, ec_scores)
ax.grid(True)
plt.show()
В настоящее время график выглядит следующим образом:
гистограммы, по определению, отображают «отсчеты» по оси y. кажется, вам нужны вероятности, а это значит, что вы хотите использовать функцию barplot, а не функцию гистограммы. – benten
@benten Это совсем не так. построение гистограммы вполне допустимо. Я думаю, что OP ищет «нормированный» kwarg (см. Http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.hist или https://stackoverflow.com/questions/5498008/pylab- histdata-normed-1-normalization-кажется-to-work-wrong) – tacaswell
Я стою исправлено. [Из википедии] (https://en.wikipedia.org/wiki/Histogram) «Гистограмма также может быть нормализована при отображении относительных частот». Кроме того, гистограммы предпочтительны для категориальных данных, тогда как гистограммы являются предпочтительными для непрерывных данных. С точки зрения matplotlib вы можете сгенерировать одну и ту же картинку, но все равно интересно. Спасибо, tacaswell. – benten