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()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在 Python 中,将数据可视化有多种选择,matplotlib会很好上手。Matplotlib是一个Pytho...
    冷多多阅读 1,840评论 0 1
  • 索引 1.pandas常用方法总结2.pandas时间序列3.时间类:datetime4.字符串相关操作5.数据分...
    精华_Wjinghua阅读 1,447评论 0 3
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,822评论 28 54
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,361评论 4 8
  • 步骤:发微博01-导航栏内容 -> 发微博02-自定义TextView -> 发微博03-完善TextView和...
    dibadalu阅读 3,393评论 1 3

友情链接更多精彩内容