#python #matplotlib #data-science
#python #matplotlib #наука о данных
Вопрос:
Это может быть очень простой вопрос, но по какой-то причине я не могу в нем разобраться, и мне нужно приступить к своей работе.
Если у меня есть два массива:
a = [3 6 4 9]
b = [4 8 2 7]
и я хочу отобразить их в виде гистограммы, с столбцами рядом друг с другом для каждого индекса. Как бы я поступил по этому поводу?
Ось x будет похожа на 1, 2, 3, 4, в то время как ось y будет от 0 до 10.
Ответ №1:
Я думаю, вы неправильно понимаете концепцию гистограммы, поскольку ось x в гистограмме — это ячейки, а ось y — частота. Построив ваши a
и b
данные в виде гистограммы, вы найдете 4 столбца высотой 1 в каждом наборе.
Я понимаю, что у вас есть обработанная частота, и вы хотите отобразить ее в произвольных ячейках. Я бы посоветовал вам использовать непосредственно необработанные данные и pyplot.histogram
, но для прямого отображения показанных вами данных вы можете использовать pyplot.bar
:
import random
import numpy
from matplotlib import pyplot
a = [3, 6, 4, 9]
b = [4, 8, 2, 7]
x = numpy.array([0,1,2,3])
pyplot.bar(x, a, 0.3)
pyplot.bar(x 0.3, b, 0.3)
pyplot.show()
Обратите внимание на хак по оси x, чтобы отобразить столбцы рядом друг с другом. Вероятно, это не то, что вы хотите, если вы готовы реализовать это более одного раза.