Я пытаюсь создать групповую диаграмму, чтобы показать точность, точность, отзыв и оценки f1, достигнутые различными классификаторами машинного обучения.Гистограмма группы работает нормально, когда я использую три бара для каждого классификатора, но выглядит странно, когда я добавляю четвертый.В частности, разрыв между стержнями исчезает, и четвертый столбец перекрывается с другими стержнями.Вот как это выглядит, когда я использую три бара:
, и это выглядит, когда я пытаюсь добавить четвертый:
N = 9
ind = np.arange(N) # location of groups
width = 0.27 # width of bars
fig = plt.figure()
ax = fig.add_subplot(111)
rects1 = ax.bar(ind, Precision, width, color='r')
rects2 = ax.bar(ind+width, Recall, width, color='g')
rects3 = ax.bar(ind+width*2, F1, width, color='b')
rects4 = ax.bar(ind+width*3, Accuracy, width, color='y')
ax.set_ylabel('Scores')
ax.set_xticks(ind+width)
ax.set_xticklabels(Model,rotation=90)
ax.legend( (rects1[0], rects2[0], rects3[0]), ('Precision', 'Recall','F1 Score') )
def autolabel(rects):
for rect in rects:
h = rect.get_height()
ax.text(rect.get_x()+rect.get_width()/2., 1.05*h, '%d'%int(h*100),
ha='center', va='bottom')
autolabel(rects1)
autolabel(rects2)
autolabel(rects3)
autolabel(rects4)
fig_size = plt.rcParams["figure.figsize"]
fig_size[0] = 20
fig_size[1] = 15
plt.rcParams["figure.figsize"] = fig_size
plt.show()
Я новичок в Python, поэтому любая помощь будет высоко ценится.