基于 Echarts 的 Python 图表库:Pyecahrts交互式的日历图和3D柱状图
文章目录
- 概述
- 一、日历图和柱状图介绍
- 1. 日历图基本概述
- 2. 日历图使用场景
- 3. 柱状图基本概述
- 4. 柱状图使用场景
- 二、代码实例
- 1. Pyecharts绘制日历图
- 2. Pyecharts绘制2D柱状图
- 3. Pyecharts绘制3D柱状图
- 总结
概述
本文将引领读者深入了解数据可视化领域中的两个强大工具:Python 编程语言和 Pyecharts 库。我们将详细探讨如何使用 Pyecharts 创建令人印象深刻的柱状图和日历图,通过展示数据之美,提高信息传达的效果。
一、日历图和柱状图介绍
1. 日历图基本概述
日历图是一种用于展示时间数据的独特而强大的数据可视化工具。它以日历的形式呈现数据,让用户可以直观地看到时间的分布和趋势。在 Pyecharts 中,通过使用 Calendar 类,可以轻松地创建日历图。
日历图的特点:
1、时间视觉化: 将时间数据与日历的格子相对应,形成一种直观的时间分布视觉效果。
2、数据呈现: 每个日期格子内可以用颜色、大小等视觉元素来表示相应日期的数据,使得用户能够快速理解数据的高低、变化趋势。
3、周期性分析: 适合展示时间数据的周期性,例如每周、每月或每年的数据波动。
2. 日历图使用场景
1、时间分布可视化: 日历图适用于展示时间数据的分布情况。通过不同日期的颜色深浅或大小变化,可以直观地了解时间上的数据波动和趋势。
2、周期性数据: 当数据具有明显的周期性,例如每日、每周或每月的变化规律时,日历图能够清晰地呈现这种周期性。
3、事件发生频率: 如果你想了解某个事件在一段时间内的发生频率,并希望通过时间轴来展示这一信息,日历图是一个有效的选择。
4、节假日统计: 用于展示节假日的分布情况,对于某些业务场景,特定日期的数据可能会显著不同,日历图可以有效地呈现这些特殊日期。
3. 柱状图基本概述
柱状图是一种常用于展示各类数据的图表类型,它通过矩形的高度来表示不同类别或组的数值大小,以便于比较各组之间的差异和趋势。在 Pyecharts 中,使用 Bar 类可以轻松创建各种类型的柱状图。
柱状图的特点:
1、比较数据: 适用于比较不同组别之间的数据差异,通过柱子的高度可以直观地看出各组数据的相对大小。
2、分类展示: 通常用于呈现离散的、有限的类别数据,每个柱子代表一个类别或组。
3、趋势分析: 可以通过多组柱状图的排列和颜色等方式,展示数据的趋势和变化。
4. 柱状图使用场景
1、比较数据大小: 柱状图是比较不同组别或类别之间数据差异的理想选择。通过柱子的高度,用户可以直观地看到各组数据的相对大小。
2、趋势分析: 用于展示数据的变化趋势,特别是在时间序列中,柱状图可以清晰地呈现数据的上升或下降趋势。
3、分类展示: 柱状图通常用于呈现有限的、离散的类别数据,每个柱子代表一个类别或组。
4、部分和整体的关系: 如果你想比较各组数据与整体的关系,例如占比或分布情况,柱状图能够有效地展示这种关系。
5、堆叠柱状图: 适用于同时展示总体数值和各个部分之间的比例关系,以及各个部分的总体趋势。
二、代码实例
1. Pyecharts绘制日历图
代码如下(示例):
# 导入需要的库
import datetime
import random# 导入 Pyecharts 中的相关模块
from pyecharts import options as opts
from pyecharts.charts import Calendar# 定义起始和结束日期
begin = datetime.date(2017, 1, 1)
end = datetime.date(2017, 12, 31)# 生成模拟数据,每一天的步数随机生成
data = [[str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]for i in range((end - begin).days + 1)
]# 创建 Calendar 图
c = (Calendar()# 添加数据和配置,指定时间范围为2017年.add("", data, calendar_opts=opts.CalendarOpts(range_="2017")).set_global_opts(# 设置图表标题title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),# 配置视觉映射visualmap_opts=opts.VisualMapOpts(max_=20000,min_=500,orient="horizontal",is_piecewise=True,pos_top="230px",pos_left="100px",),)# 渲染并保存为HTML文件.render("calendar_base.html")
)

2. Pyecharts绘制2D柱状图
代码如下(示例):
# 导入 Pyecharts 中的相关模块和 Faker 模块
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker# 创建 Bar 图实例
c = (Bar() # 创建 Bar 图.add_xaxis(Faker.days_attrs) # 添加 x 轴数据,使用 Faker 模块生成的日期数据.add_yaxis("商家A", Faker.days_values, color=Faker.rand_color()) # 添加 y 轴数据,商家A的数据,设置颜色.set_global_opts(title_opts=opts.TitleOpts(title="Bar-DataZoom(inside)"), # 设置图表标题datazoom_opts=opts.DataZoomOpts(type_="inside"), # 配置数据缩放选项,类型为"inside").render("bar_datazoom_inside.html") # 渲染并保存为HTML文件
)
pyecharts柱状图
3. Pyecharts绘制3D柱状图
代码如下(示例):
# 导入 random 模块和 Pyecharts 中的相关模块
import random
from pyecharts import options as opts
from pyecharts.charts import Bar3D# 定义 x 和 y 轴数据
x_data = y_data = list(range(10))# 定义生成数据的函数
def generate_data():data = []for j in range(10):for k in range(10):value = random.randint(0, 9)data.append([j, k, value * 2 + 4])return data# 创建 Bar3D 图实例
bar3d = Bar3D()# 循环添加数据,生成10层堆叠柱状图
for _ in range(10):bar3d.add("",generate_data(),shading="lambert", # 设置光照效果为 Lambertxaxis3d_opts=opts.Axis3DOpts(data=x_data, type_="value"), # x 轴配置yaxis3d_opts=opts.Axis3DOpts(data=y_data, type_="value"), # y 轴配置zaxis3d_opts=opts.Axis3DOpts(type_="value"), # z 轴配置)# 设置全局选项
bar3d.set_global_opts(title_opts=opts.TitleOpts("Bar3D-堆叠柱状图示例"))# 设置系列选项,堆叠模式为 "stack"
bar3d.set_series_opts(**{"stack": "stack"})# 渲染并保存为 HTML 文件
bar3d.render("bar3d_stack.html")
3d柱状图
总结
在使用Pyecharts绘制2D和3D柱状图以及日历图时,通过简单而强大的接口,我们能够轻松定制图表外观,呈现数据的分布和趋势。3D柱状图生动展示数据在三维空间中的关系,而日历图则清晰展示时间轴上的数据变化。通过调整参数、定制图表样式,以及利用交互功能,我们能够创建具有吸引力和信息密度的可视化图表,有效传达数据。Pyecharts为数据科学家和分析师提供了强大的工具,帮助用户更好地理解和展示复杂的数据。
相关文章:
基于 Echarts 的 Python 图表库:Pyecahrts交互式的日历图和3D柱状图
文章目录 概述一、日历图和柱状图介绍1. 日历图基本概述2. 日历图使用场景3. 柱状图基本概述4. 柱状图使用场景 二、代码实例1. Pyecharts绘制日历图2. Pyecharts绘制2D柱状图3. Pyecharts绘制3D柱状图 总结 概述 本文将引领读者深入了解数据可视化领域中的两个强大工具&#…...
web应用课——(第四讲:中期项目——拳皇)
代码AC Git地址:拳皇——AC Git链接...
Python爬虫http基本原理
Python爬虫逆向系列(更新中):http://t.csdnimg.cn/5gvI3 HTTP 基本原理 在本节中,我们会详细了解 HTTP 的基本原理,了解在浏览器中敲入 URL 到获取网页内容之间发生了什么。了解了这些内容,有助于我们进一…...
iOS17使用safari调试wkwebview
isInspectable配置 之前开发wkwebview的页面的时候一直使用safari调试,毕竟jssdk交互还是要用这个比较方便,虽说用一个脚本插件没问题。不过还是不太方便。 但是这个功能突然到了iOS17之后发现不能用了,还以为又是苹果搞得bug,每…...
二叉树(1)
1 树概念及结构 1.1树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。 把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个特殊的结点&a…...
ArcGIS Pro字段编号相关代码
字段属于SHP文件的重要组成部分,在某些时候需要对字段进行编号,这里为大家介绍一下字段编号相关的代码,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的POI数据,除了POI数据,常见的GIS数据都可…...
AJAX-URL查询参数
定义:浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据 http://xxxx.com/xxx/xxx?参数名1值1&参数名2值2 axios语法 使用axios提供的params选项 注意:axios在运行时把参数名和值,会拼接到url?参数名值 axios(…...
DBeaver连接ClickHouse,时间少了8小时
文章目录 业务场景问题描述解决办法 业务场景 表字段time,类型为Datetime,插入时间格式为“yyyy-MM-dd HH:mm:ss” 问题描述 插入表中的时间比正常给的时间少了8小时。如,给定时间为: 2024-01-30 14:52:08 在表中显示的时间为&…...
week03day03(文件操作、正则表达式1)
一、文件操作 1.数据持久化(数据本地化) -- 将数据保存在硬盘 程序中的数据默认是保存在运行内存中的,保存在运行内存中的数据在程序运行结束后会自动释放。如果希望在程序结束后,数据仍可以使用&…...
【数据分享】1929-2023年全球站点的逐年最高气温数据(Shp\Excel\免费获取)
气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,其中又以气温指标最为常用!说到气温数据,最详细的气温数据是具体到气象监测站点的气温数据! 之前我们分享过1929-2023年全球气象站…...
数据结构—基础知识:哈夫曼树
文章目录 数据结构—基础知识:哈夫曼树哈夫曼树的基本概念哈夫曼树的构造算法哈夫曼树的构造过程哈夫曼算法的实现算法:构造哈夫曼树 数据结构—基础知识:哈夫曼树 哈夫曼树的基本概念 哈夫曼(Huffman)树又称最优树&…...
计算机网络(第六版)复习提纲24
3 传输控制协议TCP概述 A TCP最主要的特点 1 面向连接的传输层协议 2 每一条TCP连接只能有两个端点,且只能是点对点的 3 提供可靠交付的服务(无差错、不丢失、不重复、不乱序) 4 全双工通信,两端设有发送缓存和接收缓存 5 面向字节…...
[机器学习]TF-IDF算法
一.TF-IDF算法概述 什么是TF-IDF? 词频-逆文档频率(Term Frequency-Inverse Document Frequency,TF-IDF)是一种常用于文本处理的统计方法,可以评估一个单词在一份文档中的重要程度。简单来说就是可以用于文档关键词的提…...
Loadbalancer如何优雅分担服务负荷
欢迎来到我的博客,代码的世界里,每一行都是一个故事 Loadbalancer如何优雅分担服务负荷 前言Loadbalancer基础:数字世界的分配大师1. 分发请求:2. 健康检查:3. 会话保持:4. 可伸缩性:5. 负载均衡…...
计算机网络——链路层(1)
计算机网络——链路层(1) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, [跳转到网站](https://www.captainbed.…...
OpenCV 0 - VS2019配置OpenCV
1 配置好环境变量 根据自己的opencv的安装目录配置 2 新建一个空项目 3 打开 视图->工具栏->属性管理器 4 添加新项目属性表 右键项目名(我这是opencvdemo)添加新项目属性表,如果有配置好了的属性表选添加现有属性表 5 双击选中Debug|x64的刚添加的属性表 6 (重点)添…...
eCos flash模拟EEPROM实现NV系统
Flash需要擦除的原因:先擦除后写入的原因是为了工业上制作方便,即物理实现方便。 #include <cyg/infra/diag.h> #include <cyg/io/flash.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h> // SPI flash…...
【MongoDB】跨库跨表查询(python版)
MongoDB跨表跨库查询 1.数据准备:2.跨集合查询3.跨库查询应该怎么做? 讲一个简单的例子,python连接mongodb做跨表跨库查询的正确姿势 1.数据准备: use order_db; db.createCollection("orders"); db.orders.insertMan…...
Ruoyi-Cloud-Plus_Nacos配置服务漏洞CVE-2021-29441_官方解决方法以及_修改源码解决---SpringCloud工作笔记199
CVE-2021-29441 这个漏洞是Nacos的,通过使用postman,直接访问接口: 就可以直接添加nacos的用户 Nacos是Alibaba的一个动态服务发现、配置和服务管理平台。攻击者通过添加Nacos-Server的User-Agent头部将可绕过(nacos.core.auth.enabled=true)鉴权认证,从而进行API操作。 …...
和鲸科技与智谱AI达成合作,共建大模型生态基座
近日,上海和今信息科技有限公司(简称“和鲸科技”)与北京智谱华章科技有限公司(简称“智谱AI”)签订合作协议,双方将携手推动国产通用大模型的广泛应用与行业渗透,并积极赋能行业伙伴探索领域大…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
