У меня есть два списка, которые сами состоят из списков. Я хочу построить гистограмму, используя эти списки.
следующие списки:
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.
Я могу распечатать одну гистограмму, но мне нужно несколько гистограмм для каждого случая отдельно. Тот, который я сгенерировал, находится ниже
код выше:
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()
Это не дубликат, я проверил все решения, пожалуйста, помогите мне с этим.
Возможный дубликат Как получить несколько подзаговоров в matplotlib?
перебрать оси 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()
Оформить заказ :stackoverflow.com/questions/31726643/…