如何在Matplotlib绘制的条形图每个柱子上方显示count计数值
条形图柱顶添加计数标注实现方法
你可以通过获取柱状图的柱体元素,遍历后在每个柱体顶部添加文本标注即可实现需求,修改后的完整代码如下:
# 导入依赖库 import pandas as pd from matplotlib import pyplot as plt # 创建DataFrame df = pd.DataFrame({ 'city_code':[1200013, 1200104, 1200138, 1200179, 1200203], 'index':['good', 'bad', 'good', 'good', 'bad'] }) # 绘制统计图,将返回的Axes对象赋值给ax变量 ax = df['index'].value_counts().plot(kind='bar', color='darkcyan', figsize=[15,10]) plt.xticks(rotation=0, horizontalalignment="center", fontsize=14) plt.ylabel("cities", fontsize=16) # 遍历所有柱体,添加顶部标注 for patch in ax.patches: # 获取柱体高度(即计数值) count = patch.get_height() # 计算标注的水平位置:柱体水平中心 x_pos = patch.get_x() + patch.get_width() / 2 # 添加文本标注 ax.text(x_pos, count, str(count), ha='center', va='bottom', fontsize=14) plt.show()
参数说明
ax.patches存储了当前图表所有的柱体对象,每个对象对应一个条形ha='center'表示标注文本水平居中对齐柱体va='bottom'表示标注文本底部对齐柱体顶部,避免和条形重叠- 可以根据需要调整
fontsize、color等参数修改标注的样式
内容的提问来源于stack exchange,提问作者user11545193
相关产品推荐
相关产品推荐

