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

matplotlib(6)-水平柱状图

横向柱状图的核心函数是plt.barh()

plt.barh(y, width, height=0.8, left=None, *, align='center', **kwargs)

1.水平柱状图与垂直柱状图的区别

1.1. 核心函数区别

  • 垂直柱状图plt.bar()
  • 水平柱状图plt.barh()(h = horizontal)

1.2. 坐标轴对应关系(最关键)

垂直柱状图plt.bar(x, height)

  • x:横轴(类别 / 位置)
  • height:柱子高度(纵轴数值)
  • 柱子是竖直向上

水平柱状图plt.barh(y, width)

  • y:纵轴(类别 / 位置)
  • width:柱子长度(横轴数值)
  • 柱子是水平向右

2.绘制水平柱状图参数

2.1.必选参数

参数说明
y柱形对应的 y 轴标签 / 位置(可以是类别字符串、数值序列,如['A','B','C']
width柱形的长度(即 x 轴数值,决定柱子的长短)

2.2.常用可选参数

参数说明
height柱形的宽度(横向显示时,控制柱子的 “粗细”,默认0.8
left柱形的起始 x 坐标(用于堆叠图,默认0
align柱形在 y 轴上的对齐方式,可选'center'(默认)或'edge'
color柱形填充颜色(可以是单一颜色,也可以是颜色列表)
edgecolor柱形边框颜色
linewidth柱形边框宽度
label图例标签(用于多组数据对比)

3.绘制横向柱状图

3.1基础绘制

import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']#用黑体显示中文 plt.rcParams['axes.unicode_minus'] = False#解决负号异常 data = ['苹果','香蕉','橙子','葡萄'] sales = [120,90,80,150] plt.barh(data,sales,color='r',height=0.5)#color颜色英文首字母,height宽度 plt.title('水果销量对比', fontsize=14)#标题 plt.xlabel('销量(件)', fontsize=12)#x轴标签 plt.ylabel('水果种类', fontsize=12)#y轴标签 plt.show()

图片展示:

3.2水平堆叠柱状图

import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']#用黑体显示中文 plt.rcParams['axes.unicode_minus'] = False#解决负号异常 data = ['苹果','香蕉','橙子','葡萄'] sales = [120,90,80,150] tar_sales = [150,50,40,130] plt.barh(data,sales,color='r',height=0.5,label="超市") plt.barh(data,tar_sales,color='b',height=0.5,label="目标") plt.title('水果销量(距目标)', fontsize=14)#标题 plt.xlabel('销量(件)', fontsize=12)#x轴标签 plt.ylabel('水果种类', fontsize=12)#y轴标签 plt.legend()# 显示图例(关键:区分两种超市),没有这个显示不了label plt.show()

图片展示:

3.3水平分组柱状图

import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif'] = ['SimHei'] # 用黑体显示中文 plt.rcParams['axes.unicode_minus'] = False # 解决负号异常 data = ['苹果','香蕉','橙子','葡萄'] sales = [120,90,80,150] sales2 = [150,50,40,130] # 1. 生成数字形式的Y轴基准位置(替代直接用字符串data) y_pos = np.arange(len(data)) # 2. 定义单组柱子的粗细(建议0.3~0.4,避免重叠) bar_height = 0.35 # 3. 两组柱子分别向基准位置上下偏移,实现并列 plt.barh(y_pos - bar_height/2, sales, color='r', height=bar_height, label="超市1") plt.barh(y_pos + bar_height/2, sales2, color='b', height=bar_height, label="超市2") # 4. 把Y轴的数字位置替换回原始水果类别字符串 plt.yticks(y_pos, data) # ----------------------------------------------- plt.title('水果销量', fontsize=14)#标题 plt.xlabel('销量(件)', fontsize=12)#x轴标签 plt.ylabel('水果种类', fontsize=12)#y轴标签 plt.legend() plt.show()

图片展示:

http://www.jsqmd.com/news/315052/

相关文章:

  • 合并模型怎么推HuggingFace?Qwen3-1.7B实操教学
  • 实测SGLang的约束解码能力:正则表达式真香
  • verl实战分享:从安装到运行PPO训练全过程
  • 通义千问2.5-7B联邦学习:分布式训练部署预研教程
  • Retinaface+CurricularFace效果展示:戴墨镜/口罩/帽子组合遮挡匹配案例
  • JS:数组
  • IndexTTS 2.0实测报告:时长控制精确,剪辑更高效
  • MedGemma 1.5企业应用案例:三甲医院科研团队私有化医学知识推理平台
  • Fun-ASR能做字幕生成吗?实际案例告诉你答案
  • Qwen3-VL降本增效指南:弹性GPU+镜像部署节省50%成本
  • 万物识别应用场景揭秘:电商、安防、教育都能用得上
  • ViT图像分类-中文-日常物品快速部署:Jupyter交互式调试技巧分享
  • 用verl优化训练流水线:端到端效率提升方案
  • 告别机械音!用GLM-TTS打造有温度的AI语音
  • MedGemma-X实战案例:教学医院中AI辅助生成标准化实习报告模板
  • 降本增效看得见!麦橘超然替代传统拍摄成本测算
  • DDColor参数调优指南:chroma_weight、luma_weight对最终色彩影响详解
  • Qwen3-4B Instruct-2507多场景:适配RAG检索增强、Function Calling、Tool Use协议
  • 通义千问2.5-7B游戏NPC对话系统:角色扮演部署实战
  • 对比SDXL:Z-Image-Turbo在中文生成上的优势分析
  • Qwen3-1.7B开箱即用教程,无需配置快速体验
  • 【ES】 Elasticsearch在电商系统中的核心应用场景与实践案例
  • Qwen-Image-Edit-F2P效果惊艳:赛博朋克霓虹灯光反射在人脸上的真实渲染
  • Local Moondream2案例展示:动漫角色图像的风格与服饰细节还原
  • GLM-4.6V-Flash-WEB避坑指南:部署与调用必看注意事项
  • PDF-Extract-Kit-1.0GPU算力方案:4090D单卡部署后CPU负载下降60%实测
  • YOLO11真实体验:我用它做了个智能检测系统
  • DeepSeek-R1-Distill-Qwen-1.5B惊艳效果展示:数学推导与编程问答真实对话录
  • 生成画面模糊?Live Avatar画质提升技巧汇总
  • 热门包管理器中存在多个漏洞,JavaScript 生态系统易受供应链攻击