Це старе запитання, але жодна з попередніх відповідей не стосувалася справжньої проблеми, тобто того факту, що проблема полягає у самому питанні.
По-перше, якщо ймовірності вже розраховані, тобто агреговані дані гістограми доступні унормованим способом, тоді ймовірності повинні складати до 1. Вони, очевидно, не мають, і це означає, що тут щось не так, ні з термінологією, ні з даними або в тому, як задається питання.
По-друге, той факт, що мітки надаються (а не інтервали), як правило, означатиме, що ймовірності мають категоріальну змінну реакції - і найкраще використовувати графік графіку для побудови гістограми (або якийсь злом методу історії піплота), Відповідь Шаяна Шафіка надає код.
Однак, див. Випуск 1, ці ймовірності не є вірними, і використання в цьому випадку стовпчика, оскільки "гістограма" було б неправильним, оскільки з якихось причин не розповідає про історію одновимірного розподілу (можливо, класи перекриваються, а спостереження підраховуються багаторазово разів?) і такий сюжет у цьому випадку не слід називати гістограмою.
Гістограма за визначенням є графічним зображенням розподілу одновимірної змінної (див. Https://www.itl.nist.gov/div898/handbook/eda/section3/histogra.htm , https://en.wikipedia.org/wiki / Гістограма) і створюється шляхом нанесення стовпчиків розмірів, що представляють кількість або частоту спостережень у вибраних класах змінної, що цікавить. Якщо змінна вимірюється на безперервній шкалі, ці класи є бінами (інтервалами). Важливою частиною процедури створення гістограми є вибір способу групування (або збереження без групування) категорій відповідей для категоріальної змінної, або як розділити область можливих значень на інтервали (де розмістити межі бункера) для безперервного змінна типу. Усі спостереження повинні бути представлені, і кожне лише один раз у сюжеті. Це означає, що сума розмірів брусків повинна дорівнювати загальній кількості спостережень (або їх площі у випадку змінної ширини, що є менш поширеним підходом). Або, якщо гістограма нормалізована, тоді всі ймовірності повинні складати до 1.
Якщо самі дані являють собою перелік "ймовірностей" як відповідь, тобто спостереження є значеннями ймовірності (чогось) для кожного об'єкта дослідження, то найкраща відповідь просто plt.hist(probability)
з можливістю опції binning, і використання вже наявних міток x підозрілий.
Тоді графік стовпчика не слід використовувати як гістограму, а просто
import matplotlib.pyplot as plt
probability = [0.3602150537634409, 0.42028985507246375,
0.373117033603708, 0.36813186813186816, 0.32517482517482516,
0.4175257731958763, 0.41025641025641024, 0.39408866995073893,
0.4143222506393862, 0.34, 0.391025641025641, 0.3130841121495327,
0.35398230088495575]
plt.hist(probability)
plt.show()
з результатами
matplotlib у такому випадку надходить за замовчуванням із наступними значеннями гістограми
(array([1., 1., 1., 1., 1., 2., 0., 2., 0., 4.]),
array([0.31308411, 0.32380469, 0.33452526, 0.34524584, 0.35596641,
0.36668698, 0.37740756, 0.38812813, 0.39884871, 0.40956928,
0.42028986]),
<a list of 10 Patch objects>)
результатом є набір масивів, перший масив містить кількість спостережень, тобто те, що буде показано на осі y графіку (вони складають до 13, загальна кількість спостережень), а другий масив є межами інтервалів для x -вісь.
Можна перевірити, чи вони однаково розташовані,
x = plt.hist(probability)[1]
for left, right in zip(x[:-1], x[1:]):
print(left, right, right-left)
Або, наприклад, для 3 бункерів (моє судження вимагає 13 спостережень) можна отримати цю гістограму
plt.hist(probability, bins=3)
з даними сюжету "за гратами"
Автору запитання потрібно пояснити, що означає перелік значень "ймовірність" - це "ймовірність" - це просто назва змінної відповіді (тоді чому для гістограми готові мітки x, це не має сенсу ), або значення списку - це ймовірності, розраховані на основі даних (тоді факт, що вони не складаються до 1, не має сенсу).