Я пытаюсь построить гистограмму, и у меня есть несколько списков для xaxisn (n от 1 до 5) и yaxisn (от 1 до 5). Значения в каждом соответствующем xaxisn первоначально были сопоставлены со значениями в yaxisn в словаре, и они одинаковы от 1 до 5, но в другом порядке. Например,
dict1 = {'a': 80, 'c': 30, 'e': 52, 'b': 12, 'd': 67}
dict2 = {'c': 47, 'a': 73, 'e': 32, 'd': 35, 'b': 40}
Итак, я создал список, содержащий все номинальные значения для x, и попытался построить все вместе с
xaxis = ['a', 'b', 'c', 'd', 'e']
yaxis1 = dict1.values()
xaxis1 = dict1.keys()
yaxis2 = dict2.values()
xaxis2 = dict2.keys()
plt.bar(xaxis1,yaxis1)
plt.bar(xaxis2,yaxis2)
plt.xticks(range(len(xaxis)),xaxis)
, но я заметил, что несмотря на сопоставление, значения y на графике не выровнены по правому краю x. Поэтому вместо того, чтобы показывать в порядке частот для xaxis
, они сохраняют тот же порядок, что и в словаре. Я попытался изменить последнюю строку кода на
plt.xticks(range(len(xaxis)),xaxis1)
plt.xticks(range(len(xaxis)),xaxis2)
, но опять же, с несколькими переменными, одна перезаписывает предыдущую. Нужно ли упорядочивать все словари одним и тем же способом для их построения, или есть другой способ сделать это без необходимости повторного кодирования всех моих кодов?