如何使用pyplot.barh()在每个条形上显示条形的值?

我生成了条形图,如何在每个条形上显示条形的值?

我的代码:

import os

import numpy as np

import matplotlib.pyplot as plt

x = [u'INFO', u'CUISINE', u'TYPE_OF_PLACE', u'DRINK', u'PLACE', u'MEAL_TIME', u'DISH', u'NEIGHBOURHOOD']

y = [160, 167, 137, 18, 120, 36, 155, 130]

fig, ax = plt.subplots()

width = 0.75 # the width of the bars

ind = np.arange(len(y)) # the x locations for the groups

ax.barh(ind, y, width, color="blue")

ax.set_yticks(ind+width/2)

ax.set_yticklabels(x, minor=False)

plt.title('title')

plt.xlabel('x')

plt.ylabel('y')

#plt.show()

plt.savefig(os.path.join('test.png'), dpi=300, format='png', bbox_inches='tight') # use format='svg' or 'pdf' for vectorial pictures

回答:

加:

for i, v in enumerate(y):

ax.text(v + 3, i + .25, str(v), color='blue', fontweight='bold')

结果:

yv既是x位置,也是的字符串值ax.text,方便地,条形图的每个条形的度量均为1,因此枚举iy位置。

以上是 如何使用pyplot.barh()在每个条形上显示条形的值? 的全部内容, 来源链接: utcz.com/qa/436046.html

回到顶部