Построить гистограмму из списков элементов в python

У меня есть два списка, которые сами состоят из списков. Я хочу построить гистограмму, используя эти списки.

следующие списки:

param_main_list

[['Para_length', 'Question1', 'Answer1', 'Question2', 'Answer2'], 
['Para_length', 'Question1', 'Answer1', 'Question2', 'Answer2', 
'Question3', 'Answer3', 'Question4', 'Answer4', 'Question5', 'Answer5'], 
['Para_length', 'Question1', 'Answer1', 'Question2', 'Answer2', 
'Question3', 'Answer3', 'Question4', 'Answer4', 'Question5', 'Answer5'], 
['Para_length', 'Question1', 'Answer1', 'Question2', 'Answer2', 
'Question3', 'Answer3', 'Question4', 'Answer4', 'Question5', 'Answer5']]

основной_список:

[1107, 64, 129, 64, 67]
[1223, 34, 129, 62, 244, 56, 136, 48, 128, 43, 180]
[1345, 47, 96, 63, 241, 79, 97, 82, 108, 62, 134]
[648, 35, 111, 78, 131, 56, 86, 28, 47, 64, 151]
[[1107, 64, 129, 64, 67], [1223, 34, 129, 62, 244, 56, 136, 48, 128, 43, 
180], [1345, 47, 96, 63, 241, 79, 97, 82, 108, 62, 134], [648, 35, 111, 
78, 131, 56, 86, 28, 47, 64, 151]]

Учтите, что эти гистограммы берут одно к одному соответствию из списка, т.е. 1-й элемент param_main_list и 1-й элемент main_list.

Я могу распечатать одну гистограмму, но мне нужно несколько гистограмм для каждого случая отдельно. Тот, который я сгенерировал, находится ниже

Построить гистограмму из списков элементов в python

код выше:

for index in range(0,len(main_list)):     
    xpos = np.arange(len(main_list[index]))   
    plt.xticks(xpos,param_main_list[index])
    plt.bar(param_main_list[index],main_list[index])
    plt.hist() 

Это не дубликат, я проверил все решения, пожалуйста, помогите мне с этим.

Оформить заказ :stackoverflow.com/questions/31726643/…

Born Tbe Wasted 09.04.2019 12:55

Возможный дубликат Как получить несколько подзаговоров в matplotlib?

Georgy 09.04.2019 14:04
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
2
369
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

перебрать оси subplot

%matplotlib inline
import matplotlib.pyplot as plt
x=[['Para_length', 'Question1', 'Answer1', 'Question2', 'Answer2'], 
['Para_length', 'Question1', 'Answer1', 'Question2', 'Answer2','Question3', 'Answer3', 'Question4', 'Answer4', 'Question5', 'Answer5'], 
['Para_length', 'Question1', 'Answer1', 'Question2', 'Answer2','Question3', 'Answer3', 'Question4', 'Answer4', 'Question5', 'Answer5'], 
['Para_length', 'Question1', 'Answer1', 'Question2', 'Answer2','Question3', 'Answer3', 'Question4', 'Answer4', 'Question5', 'Answer5']]  

y=[[1107, 64, 129, 64, 67], 
[1223, 34, 129, 62, 244, 56, 136, 48, 128, 43, 180], 
[1345, 47, 96, 63, 241, 79, 97, 82, 108, 62, 134], 
[648, 35, 111, 78, 131, 56, 86, 28, 47, 64, 151]]


fig, axs = plt.subplots(1,4)

for i,ax in enumerate(axs):
    ax.bar(x[i],y[i])
    ax.set_xticklabels(x[i], rotation=90)


plt.show()

Другие вопросы по теме