利用Pyecharts绘制堆叠柱状图
“一名优秀的程序员在穿越单行道时也会确认双向的来车情况。”——道格拉斯·林德Doug Linder目录用pycharts绘制堆叠柱状图1、堆叠柱状图一般堆叠柱状图百分比堆叠柱状图2、绘制一般堆叠柱状图3、本文的思维导图用pycharts绘制堆叠柱状图假设小丽是一名销售经理在下周的汇报会上需要进行销售情况分析现在她想在图表上展现出两个重要信息1. 每个月总销售额与单个商品销售额的关系2. 销售额较低的商品分析。作为擅长处理数据可视化的你来帮帮小丽绘制出能展现每月销售额的图表吧提到对比数据使用的图表相信大家第一反应就是使用柱状图。假设我们把三个商品每个月的销售额绘制成柱状图的话整体图表就会显得比较密集不能看出总销售额与单个商品之间的关系。在这里我们要体现的是一个大分类总销售额包含的每个小分类每个商品的数据就可以选用堆叠柱状图。1、堆叠柱状图与并排显示分类的柱状图不同堆叠柱状图将每个柱子进行分割显示相同类型下各个数据的大小情况。我们将堆叠柱状图分为两种类型:一般堆叠柱状图和百分比堆叠柱状图一般堆叠柱状图从图表中可以看出每一根柱子的高度分别代表一个分组总数据的大小。在每一根柱子内部不同颜色的柱子高度表示在这个数据分组中不同种类的数据大小。一般堆叠柱状图很适用于比较每个分组的数据总量。百分比堆叠柱状图百分比堆叠柱状图每一根柱子也是表示一组数据但所有的柱子高度一样都是表示 100%。同样的在每一根柱子内部不同颜色的柱子高度表示在这个数据分组中不同种类的数据大小。百分比的堆叠柱状图非常适合用来比较不同分组数据内各个种类的占比情况但不适用于对比各分组总数的大小。由于我们要比较每月的总销售额和单月销售额构成既要比较每个分组的总数据大小每月的总销售额以及分组内的组成情况单月销售额构成因此在这里我们选用一般堆叠柱状图。接下来我们就来学习如何用 pyecharts 绘制一般堆叠柱状图。2、绘制一般堆叠柱状图在 pyecharts 中绘制堆叠柱状图的代码与柱状图接近相当于是在柱状图的基础上叠加。from pyecharts.charts import Bar首先从 pyecharts.charts 中导入 Bar 模块这样就可以调用 Bar 模块中的函数。from pyecharts.charts import Bar months [7月, 8月, 9月, 10月, 11月, 12月] choc_sales[5340,6078,6460,6475,7431,8038] gum_sales[4340,4379,4460,5075,5431,6038] walnut_sales[6340,5579,4460,4075,3431,3038] bar Bar() bar.add_xaxis(xaxis_datamonths)接着使用 add_xaxis() 函数向图表中添加 x 轴上的数据。在这里x 轴上的数据应该是下半年连续的月份名称已经存储在列表 months 中。在 add_xaxis() 函数中添加参数 xaxis_data将其值设置为存储月份名称的列表 months。接下来添加y轴数据bar.add_yaxis( series_name巧克力, y_axischoc_sales ) bar.add_yaxis( series_name口香糖, y_axisgum_sales ) bar.add_yaxis( series_name核桃, y_axiswalnut_sales )这里注意一下给y轴传参的话是y_axis不是yaxis_data由于我们要将条形堆叠在一起现在就需要将参数 stack 添加进所有的 add_yaxis() 函数中并把参数 stack 的值统一设置为 salesfrom pyecharts.charts import Bar months [7月, 8月, 9月, 10月, 11月, 12月] choc_sales[5340,6078,6460,6475,7431,8038] gum_sales[4340,4379,4460,5075,5431,6038] walnut_sales[6340,5579,4460,4075,3431,3038] bar Bar() bar.add_xaxis(months) bar.add_yaxis( 巧克力, choc_sales, stacksales#设为sales ) bar.add_yaxis( 口香糖, gum_sales, stacksales ) bar.add_yaxis( 核桃, walnut_sales, stacksales ) bar.render(rE:\pyTest\数据可视化学习\可视化图表\Bar.html)#保存为页面同系列配置相同 stack 值可以堆叠放置。代码运行成功后就生成了堆叠柱状图。在图表中数据堆叠在了一起可以很直观的对比每月总销售额。数据默认显示是在里面的。options模块中还有位置标签项我们可以更改数字显示的位置数据标签配置项中添加参数position即可修改标签的位置。参数 position 的值有很多种如图所示。在这里我们可以将参数 position 设置为top from pyecharts.charts import Bar from pyecharts import options as opts months [7月, 8月, 9月, 10月, 11月, 12月] choc_sales[5340,6078,6460,6475,7431,8038] gum_sales[4340,4379,4460,5075,5431,6038] walnut_sales[6340,5579,4460,4075,3431,3038] # 将数据标签配置项opts.LabelOpts()赋值给变量label_options # 在数据标签配置项中添加参数position设置为top label_opts opts.LabelOpts(positiontop) bar Bar() bar.add_xaxis(months) bar.add_yaxis( 巧克力, y_axischoc_sales, stacksales, label_optslabel_opts ) bar.add_yaxis( 口香糖, y_axisgum_sales, stacksales, label_optslabel_opts ) bar.add_yaxis( 核桃, y_axiswalnut_sales, stacksales, label_optslabel_opts ) bar.set_global_opts( title_optsopts.TitleOpts(title销售量对比), ) bar.render(rE:\pyTest\数据可视化学习\可视化图表\Bar.html)从图表中可以看出7月和8月的销售额基本持平到了9月下降9月到12月缓步上升。对比三个商品巧克力和口香糖每个月的销售额都在上升核桃的销售额7月单月最高之后每个月都在下降12月的销售额和7月相比减少了一倍。3、本文的思维导图如果用一句话总结如何改变世界我会说努力工作为那些真正激动人心的事物。—— Google创始人 拉里佩奇

相关新闻

OpenClaw本地AI助手部署与定制开发指南

OpenClaw本地AI助手部署与定制开发指南

1. OpenClaw本地AI助手部署指南:从零开始的完整实践作为一名长期关注AI技术落地的开发者,我最近完整走通了OpenClaw的本地部署流程。这个由中启联信技术团队开源的AI助手项目,确实为开发者提供了快速搭建私有化AI服务的解决方案。不同于云端A…

2026/10/18 9:14:14 阅读更多 →
深入解析TI C2000 ADC寄存器:中断、FIFO与通道选择实战指南

深入解析TI C2000 ADC寄存器:中断、FIFO与通道选择实战指南

1. ADC模块控制寄存器概览与设计哲学在嵌入式系统,尤其是实时性要求极高的领域,如电机控制、电源管理或精密传感器数据采集,模数转换器(ADC)的性能直接决定了整个系统的精度与响应速度。很多工程师在初次接触像TI C200…

2026/10/18 9:14:55 阅读更多 →
Linux僵尸进程全解

Linux僵尸进程全解

1、僵尸进程是什么?僵尸进程是 Linux 进程的一种特殊状态(Z状态)。它指的是一个已经执行完毕(terminated)的子进程,但其退出状态信息仍然保留在系统进程表中,等待其父进程来读取(rea…

2026/10/18 9:15:05 阅读更多 →

最新新闻

Gowater:统一水务物联网设备接入与数据处理的Go框架

Gowater:统一水务物联网设备接入与数据处理的Go框架

1. 水务传感器的数据接入困局:为什么需要一套“水”专用框架1.1 设备协议四分五裂:从RS485到4G DTU的真实改造现场在讲Gowater之前,我想先还原一下我最早参与智慧水务项目时的场景。某区县的水务集团下辖三个水厂、十几个泵站,加上…

2026/10/19 8:00:33 阅读更多 →
Pycharm远程开发实战:Deployment+Remote Interpreter配置指南

Pycharm远程开发实战:Deployment+Remote Interpreter配置指南

1. 项目概述:这不是远程桌面,而是开发者真正的“第二工作台”“利用Pycharm连接服务器”——这八个字背后藏着的,不是简单的图形界面跳转,而是一整套现代Python开发工作流的底层重构逻辑。我第一次在某高校实验室带学生做分布式数…

2026/10/19 8:00:33 阅读更多 →
FastDriveVLA:大模型减重四板斧,自动驾驶端到端提速7.5倍

FastDriveVLA:大模型减重四板斧,自动驾驶端到端提速7.5倍

第一次看到FastDriveVLA这个项目,我脑海里冒出来的第一句话是:大模型也有能“减肥成功”的一天。在自动驾驶AI这个圈子里,视觉-语言-动作(VLA)模型一直是高不可攀的“大家伙”,动不动就上亿、甚至几十亿参数…

2026/10/19 8:00:33 阅读更多 →
eCharts地图资源:344个县区GeoJSON与两种加载方式详解

eCharts地图资源:344个县区GeoJSON与两种加载方式详解

简介:面向需要在中国县级行政区划层面做数据可视化的前端开发者,这份eCharts地图资源提供了全国344个县区的可复用地图数据,并内置两种接入方式演示:直接使用预置地理数据集,以及加载外部JSON自定义地图。压缩包共391个…

2026/10/19 8:00:33 阅读更多 →
narrator-ai-cli:一句话生成影视解说视频的自动化实践

narrator-ai-cli:一句话生成影视解说视频的自动化实践

做影视解说做了三年多,我一直在跟剪辑软件、配音工具、文案平台打交道。说实话,一套视频做下来,最耗时间的根本不是剪辑本身,而是文案打磨、配音录制、字幕对齐这些细碎活。前阵子朋友给我推荐了一个命令行工具,名字叫…

2026/10/19 8:00:33 阅读更多 →
基础模型重塑广告竞价环境建模:Bid2X 解读

基础模型重塑广告竞价环境建模:Bid2X 解读

广告竞价这个领域,真正难的不是“怎么出价”,而是“出价之后到底会发生什么”。KDD25 这篇 Bid2X,标题里最抓人的就是“环境建模”这四个字——它把视角从策略本身拉远到了策略所处的整个动态拍卖市场。基础模型视角的引入,让环境…

2026/10/19 7:59:32 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →