当前位置: 首页 > news >正文

Matplotlib | 条形图中的每个条形(patch)设置标签数据的方法

方法一

·不使用子图对象如何给形图中的每个条形设置数据

plt.figure(figsize=(8, 4))
sns.countplot(x='Workout_Frequency (days/week)', data=df)plt.title('会员每周锻炼频率分布')
plt.xlabel('锻炼频率 (每周次数)')
plt.ylabel('人数')# 获取当前活动的轴对象
ax = plt.gca()# 循环遍历条形图中的每个条形(patch)
for p in ax.patches:# 使用 annotate 方法在每个条形上方标注频数ax.annotate(f'{p.get_height()}', (p.get_x() + p.get_width() / 2., p.get_height()),ha='center', va='center', fontsize=10, color='green', xytext=(0, 5),textcoords='offset points')

在这里插入图片描述

方法二

import matplotlib.pyplot as plt
import seaborn as sns# 创建一个画布,并设置大小
plt.figure(figsize=(10, 8))# 创建一个子图对象 ax5
ax5 = plt.subplot(111)  # 这里使用 1x1 网格的第一个位置# 绘制条形图
sns.countplot(x='Workout_Frequency (days/week)', data=df)# 设置标题和轴标签
plt.title('会员每周锻炼频率分布')ax5.set_xlabel('锻炼频率 (每周次数)')
ax5.set_ylabel('人数')# 循环遍历条形图中的每个条形(patch)
for p in ax5.patches:# 使用 annotate 方法在每个条形上方标注频数ax5.annotate(f'{p.get_height()}', (p.get_x() + p.get_width() / 2., p.get_height()),ha='center', va='center', fontsize=11, color='green', xytext=(0, 5),textcoords='offset points')# 显示图表
plt.show()
  • 代码解读
    循环标注频数:

  • for p in ax5.patches: 循环遍历条形图中的每个条形(patch)。

  • ax5.annotate(f’{p.get_height()}', (p.get_x() + p.get_width() / 2., p.get_height()), …):

    • 使用 annotate 方法在每个条形上方标注频数。
    • f’{p.get_height()}’ 是要标注的文本,即条形的高度。
    • (p.get_x() + p.get_width() / 2., p.get_height()) 是标注的位置,位于条形的中心上方。
    • ha=‘center’, va=‘center’ 设置水平和垂直对齐方式。
    • fontsize=11 设置字体大小。
    • color=‘black’ 设置字体颜色。
    • xytext=(0, 5) 设置文本偏移量,使标注稍微向上偏移,避免与条形顶部重叠。
    • textcoords=‘offset points’ 指定偏移量的坐标系统。
http://www.lryc.cn/news/478703.html

相关文章:

  • 机器学习3_支持向量机_线性不可分——MOOC
  • bash: git: command not found
  • 大模型LLama3!!!Ollama下载、部署和应用(保姆级详细教程)
  • ReactPress系列—NestJS 服务端开发流程简介
  • Maven 下载配置 详解 我的学习笔记
  • 【学术精选】SCI期刊《Electronics》特刊“New Challenges in Remote Sensing Image Processing“
  • 卷积神经网络——pytorch与paddle实现卷积神经网络
  • 云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等
  • 最佳实践:如何实现函数参数之间的TS类型相依赖和自动推断
  • Linux基础指令1
  • 软件设计师:排序算法总结
  • 「Mac畅玩鸿蒙与硬件25」UI互动应用篇2 - 计时器应用实现
  • 计算机专业开题报告写法,该怎么写好?
  • Vue(JavaScript)读取csv表格并求某一列之和(大浮点数处理: decimal.js)
  • Pyraformer复现心得
  • 成绩排序c++
  • 人脸检测之MTCNN算法网络结构
  • 蓝桥杯顺子日期(填空题)
  • Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑
  • 【C++的vector、list、stack、queue用法简单介绍】
  • git中使用tag(标签)的方法及重要性
  • 【专题】2024年文旅微短剧专题研究报告汇总PDF洞察(附原数据表)
  • celery加速爬虫 使用flower 可视化地查看celery的实时监控情况
  • Angular进阶之十:toPromise废弃原因及解决方案
  • python实现RSA算法
  • 可灵开源视频生成数据集 学习笔记
  • 告别软文营销瓶颈!5招助你突破限制,实现宣传效果最大化
  • 秋冬进补防肥胖:辨证施补,健康过冬不增脂
  • uniapp radio单选
  • 通熟易懂地讲解GCC和Makefile