Matplotlib отображает гистограмму с определенным значением по осям x и y - PullRequest
0 голосов
/ 05 ноября 2018
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

value = [8904,8953,8977,9147,9243,9320]
bin = np.arange(0,70,10)
ax.hist(value, bins=bin)
plt.grid(True)
plt.show()

Я пытаюсь построить гистограмму с массивом значений на оси x, а ось y будет ячейкой. Но когда я запускаю код, я получаю пустой график. Может кто-нибудь, пожалуйста, помогите мне. Спасибо

1 Ответ

0 голосов
/ 05 ноября 2018

Первое, что я вижу, это то, что в вашем массиве значений точки данных не разделяются запятыми.

Во-вторых, ваши значения находятся за пределами ваших корзин. Все ваши значения исчисляются тысячами, а диапазон ваших бинов составляет от 0 до 70.

Вот моя отредактированная версия вашего кода (для ясности я включил свои операторы импорта). Я изменил значения, чтобы они находились в пределах вашего диапазона:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

value = [7, 8, 15, 45, 50, 80]
bin = np.arange(0,70,10)
ax.hist(value, bins=bin)
plt.grid(True)
plt.show()

В результате я получаю это изображение , которое иллюстрирует, что происходит. Точка 80 данных находится за пределами диапазона корзины и, следовательно, вообще не отображается, как и точки данных, которые у вас были изначально. Кроме этого, все точки данных показаны на гистограмме.

Надеюсь, это поможет!

Редактировать: в комментарии к этому ответу вы сказали, что хотите, чтобы он был горизонтальным, а не вертикальным. Вы добавляете orientation="horizontal" к вашему выражению ax.hist в качестве аргумента. Новый код выглядит так:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

value = [7, 8, 15, 45, 50, 80]
bin = np.arange(0,70,10)
ax.hist(value, bins=bin, orientation="horizontal")
plt.grid(True)
plt.show()

Ваш график теперь должен выглядеть так: это .

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