Matplotlib не отображает все значения - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь отобразить следующие значения в виде гистограммы. Тем не менее, я получаю только одно значение (619,1). Ниже приведен код, который я использовал при попытке построить график ниже:

import matplotlib.pyplot as plt 
plt.style.use('ggplot')
values=  [1, 2, 3, 4, 5]
a = [619, 101, 815, 1361, 178]
plt.figure(figsize=(5, 5))
plt.bar(a, values)
plt.show()

The result of the code

1 Ответ

1 голос
/ 30 апреля 2020

Для ширины полосы установлено значение по умолчанию 0.8, поэтому, когда ваша ось х имеет такой большой диапазон, полосы настолько тонкие, что исчезают.

Причина 0.8 в том, что гистограммы обычно используются для помеченных категорий, которые эффективно отстоят на 1 вдоль оси X.

Таким образом, вы можете установить ширину напрямую. (Можно также рассчитать ширину, чтобы сделать ее более автоматизированной c, но затем вам нужно решить, что такое перекрытия, и т.д. c.)

enter image description here

plt.figure(figsize=(5, 5))
plt.xlim(0, 1450)
plt.bar(a, values, width = 50)

Кажется, ваши данные могут лучше подходить для горизонтальной линейной диаграммы (но не принимайте это всерьез, поскольку она может вообще не иметь правильного значения), и если вы хотите горизонтальные линейки, вы можете сделайте так:

enter image description here

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