news 2026/6/10 11:09:18

matplotlib(6)-水平柱状图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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()

图片展示:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:44:54

CogVideoX-2b操作手册:WebUI界面按钮功能与响应逻辑说明

CogVideoX-2b操作手册:WebUI界面按钮功能与响应逻辑说明 1. 工具定位与核心能力概览 CogVideoX-2b(CSDN 专用版)不是一款需要反复调试参数的命令行工具,而是一个开箱即用的本地化视频生成“导演台”。它基于智谱AI开源的CogVide…

作者头像 李华
网站建设 2026/6/10 10:37:12

万物识别-中文镜像惊艳效果:支持中英文双语标签输出的实际演示

万物识别-中文镜像惊艳效果:支持中英文双语标签输出的实际演示 你有没有试过拍一张照片,想立刻知道里面都有什么?不是简单地认出“这是猫”或“这是车”,而是能准确说出“一只橘色短毛猫蹲在复古木质窗台上,背景有绿植…

作者头像 李华
网站建设 2026/6/10 10:35:17

ChatGLM3-6B重塑工作流:设计师+程序员+文案的协作新范式

ChatGLM3-6B重塑工作流:设计师程序员文案的协作新范式 1. 为什么你需要一个“在手边”的AI助手? 你有没有过这样的经历: 设计师正在赶电商主图,突然需要一句抓人的卖点文案,临时翻小红书找灵感,耗掉20分钟…

作者头像 李华
网站建设 2026/5/20 17:28:59

全任务零样本学习-mT5中文-base惊艳效果:方言语音转写文本语义校正

全任务零样本学习-mT5中文-base惊艳效果:方言语音转写文本语义校正 你有没有遇到过这样的情况:一段四川话录音转成文字后,写着“我克吃饭咯”,但实际想表达的是“我要去吃饭了”;或者广东话语音识别结果是“食咗饭未”…

作者头像 李华
网站建设 2026/6/7 7:27:28

Qwen2.5-7B-Instruct效果展示:7B生成DirectX 12 Root Signature描述

Qwen2.5-7B-Instruct效果展示:7B生成DirectX 12 Root Signature描述 1. 为什么这个任务特别能“试出真功夫” Root Signature是DirectX 12中一个看似简单、实则精密的底层机制——它不是一段普通代码,而是一份GPU与CPU之间的契约说明书。它定义了着色器…

作者头像 李华
网站建设 2026/6/4 23:09:59

Fun-ASR能做字幕生成吗?实际案例告诉你答案

Fun-ASR能做字幕生成吗?实际案例告诉你答案 你是不是也遇到过这些场景: 剪辑一段30分钟的行业分享视频,光手动打字记笔记就花了两小时; 会议录了45分钟,想快速整理成可搜索的纪要,却卡在“听一句、敲一句”…

作者头像 李华