Как отобразить два массива данных в виде гистограмм рядом друг с другом

#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, чтобы отобразить столбцы рядом друг с другом. Вероятно, это не то, что вы хотите, если вы готовы реализовать это более одного раза.