У меня есть гистограмма, и я хочу, чтобы над каждым столбцом отображался какой-то текст, как я могу это сделать?
Как я могу отображать текст по столбцам на гистограмме в matplotlib?
Ответ 1
Я считаю, что это укажет вам в правильном направлении:
http://matplotlib.sourceforge.net/examples/pylab_examples/barchart_demo.html.
Чаще всего вас интересует:
def autolabel(rects):
for rect in rects:
height = rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2., 1.05*height, '%d'%int(height),
ha='center', va='bottom')
Размещение текста определяется функцией высоты или высотой столбца, а число, которое помещается поверх каждого столбца, записывается: "% d" % int (высота). Итак, все, что вам нужно сделать, это создать массив строк, называемый "имя", который вы хотите в верхней части столбцов и прокручиваете. Обязательно измените формат для строки (% s), а не двойной.
def autolabel(rects):
# attach some text labels
for ii,rect in enumerate(rects):
height = rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2., 1.02*height, '%s'% (name[ii]),
ha='center', va='bottom')
autolabel(rects1)
Это должно сделать это!