栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在matplotlib中的条形图上方显示百分比

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在matplotlib中的条形图上方显示百分比

尝试将以下

for
循环添加到您的代码中:

ax = result.plot(kind='bar', figsize=(15,4), width=0.8, color=colors_list, edgecolor=None)for p in ax.patches:    width = p.get_width()    height = p.get_height()    x, y = p.get_xy()     ax.annotate(f'{height}', (x + width/2, y + height*1.02), ha='center')

说明

通常,您可以

Axes.annotate
在图上添加注释。
此方法采用
text
注释的值和
xy
放置注释的坐标。

在一个barplot,每个“条”是由a表示

patch.Rectangle
,并且每个这些矩形的具有属性
width
height
xy
矩形的左下角的COORDS,所有这些都可以与所述方法获得
patch.get_width
patch.get_height
patch.get_xy
分别。

将所有内容放在一起,解决方案是遍历您的中的每个补丁

Axes
,并将注释文本设置
height
为该补丁的,并
xy
在补丁中心上方放置一个适当的位置-
根据其高度,宽度和xy坐标计算得出。


为了满足您对百分比进行注释的特定需求,我将首先对您的数据进行规范化,

Dataframe
然后进行绘制。

colors_list = ['#5cb85c','#5bc0de','#d9534f']# Normalize resultresult_pct = result.div(result.sum(1), axis=0)ax = result_pct.plot(kind='bar',figsize=(15,4),width = 0.8,color = colors_list,edgecolor=None)plt.legend(labels=result.columns,fontsize= 14)plt.title("Percentage of Respondents' Interest in Data Science Areas",fontsize= 16)plt.xticks(fontsize=14)for spine in plt.gca().spines.values():    spine.set_visible(False)plt.yticks([])# Add this loop to add the annotationsfor p in ax.patches:    width = p.get_width()    height = p.get_height()    x, y = p.get_xy()     ax.annotate(f'{height:.0%}', (x + width/2, y + height*1.02), ha='center')


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/633664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号