我是靠谱客的博主 怕黑翅膀,最近开发中收集的这篇文章主要介绍python 绘制并列条形图并添加数据标签,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

利用python绘制并列的条形图。
(1)处理数据,计算每个区间的个数:
在这里插入图片描述

(2)plt.bar函数绘制条形图:

df = pd.read_excel('path of file ',sheet_name='Sheet1')
area_class = df['name']
lake_num = df['lake_number']
TP_lake_num = df['TP_2020_lake_number']
bar_width = 0.3
index_lake = np.arange(len(area_class))
index_TP = index_lake + bar_width
plt.bar(index_lake, height=lake_num, width=bar_width, color='b', label='study_2020_lake')
plt.bar(index_TP, height=TP_lake_num, width=bar_width, color='g', label='TP_2020_lake')
plt.legend()
plt.xticks(index_lake + bar_width/2, area_class)
plt.ylabel('Number')
plt.xlabel('Area (km$^{2}$)')
plt.show()

显示结果:
在这里插入图片描述
(3)图形优化
为每个柱添加数据标签:

df = pd.read_excel('path of file',sheet_name='Sheet1')
fig, ax = plt.subplots()
area_class = df['name']
lake_num = df['lake_number']
TP_lake_num = df['TP_2020_lake_number']
bar_width = 0.3
index_lake = np.arange(len(area_class))
index_TP = index_lake + bar_width
plt.bar(index_lake, height=lake_num, width=bar_width, color='b', label='study_lake')
for x, y in enumerate(df['lake_number'].values):
# plt.text(x, y+1,y,ha='center', va='bottom')
plt.text(x+0.1, y+1,y,ha='right',va='bottom')
plt.bar(index_TP, height=TP_lake_num, width=bar_width, color='g', label='TP_lake')
for a, b in enumerate(df['TP_2020_lake_number'].values):
plt.text(a+0.1, b+1,b,ha='left',va='bottom')
plt.legend()
plt.xticks(index_lake + bar_width/2, area_class)
plt.ylabel('Number')
plt.xlabel('Area (km$^{2}$)')
plt.show()

显示结果:
在这里插入图片描述
plt.text()函数参数说明:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.text.html

最后

以上就是怕黑翅膀为你收集整理的python 绘制并列条形图并添加数据标签的全部内容,希望文章能够帮你解决python 绘制并列条形图并添加数据标签所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部