Python matplotlib绘制条形柱状图并添加数据标签

最近在学习数据分析,用matplotlit绘制条形图,柱状图老师讲了加标签的方法,但是没有讲横向条形图加数据标签的方法,但是我想到业务场景可能会用到,于是自己写了一个脚本练习一下,用竖向条形图的方法加数据标签,怎么都加不上,百度找到一些解决方法,然后自己改了一下终于解决了这个问题。

重点在这个for循环

b = ax.barh(name, course, color=colors)

for rectin b:

w = rect.get_width()

ax.text(w +1, rect.get_y() + rect.get_height() /2, '%d' %

int(w), ha='left', va='center')


代码部分:

import numpyas np

import matplotlib.pyplotas plt

name = ['Adam', 'Barry', 'Corbin', 'Doe', 'Evans', 'Frans']

course_name = ['math', 'physics', 'biology', 'chemistry']

colors = ['#00429d', '#7f40a2', '#a653a1', '#c76a9f', '#e4849c', '#d0e848']

N =len(name)

rows =2

columns =2

plt.rcParams['font.sans-serif'] = ['SimHei']

# noise = np.random.randint(1, 3, N)

plt.figure(figsize=(15, 10))

grid = plt.GridSpec(rows, columns, wspace=0.25, hspace=0.25)

for iin range(len(course_name)):

# np.random.seed(100)

    course = np.random.randint(60, 100, N)

ax = plt.subplot(grid[i])

b = ax.barh(name, course, color=colors)

for rectin b:

w = rect.get_width()

ax.text(w +1, rect.get_y() + rect.get_height() /2, '%d' %

int(w), ha='left', va='center')

plt.xlabel(course_name[i] +" Exam")

plt.xlim(60, 110)

plt.title(course_name[i] +' 的成绩表')

plt.show()

你可能感兴趣的:(Python matplotlib绘制条形柱状图并添加数据标签)