Pyecharts炫酷热力图:参数详解与实战大揭秘

Pyecharts绘制多种炫酷热力图参数说明+代码实战

引言

热力图在数据可视化中是一种强大的工具,可以直观地展示数据的分布情况和变化趋势。Pyecharts是一个基于Echarts的Python可视化库,提供了丰富的图表类型,包括热力图。在本文中,我们将深入探讨Pyecharts绘制多种炫酷热力图的参数说明和实际代码实战。

准备工作

首先,确保你已经安装了Pyecharts库。如果没有安装,可以使用以下命令进行安装:

pip install pyecharts

接下来,我们将使用一些示例数据来演示多种炫酷热力图的绘制。

# 导入必要的库
from pyecharts import options as opts
from pyecharts.charts import HeatMap
import random# 生成示例数据
data = [[i, j, random.randint(0, 100)] for i in range(24) for j in range(7)]

基础热力图

首先,让我们创建一个基础的热力图。基础热力图只需提供数据和坐标轴信息即可。

# 创建基础热力图
heatmap_basic = (HeatMap().add_xaxis(list(range(24))).add_yaxis(series_name="",yaxis_data=list(range(7)),value= data,label_opts=opts.LabelOpts(is_show=True, position="inside"),).set_global_opts(title_opts=opts.TitleOpts(title="基础热力图示例"),visualmap_opts=opts.VisualMapOpts(),)
)
# 渲染图表
heatmap_basic.render("heatmap_basic.html")

在这个基础热力图中,我们使用了add_xaxisadd_yaxis方法分别指定x轴和y轴的数据,value参数传入了我们准备好的示例数据。label_opts用于显示数据标签,set_global_opts用于设置全局选项,包括标题和视觉映射。

自定义热力图

接下来,让我们创建一个自定义热力图,调整颜色映射、热力点大小和其他样式。

# 创建自定义热力图
heatmap_custom = (HeatMap().add_xaxis(list(range(24))).add_yaxis(series_name="",yaxis_data=list(range(7)),value= data,label_opts=opts.LabelOpts(is_show=True, position="inside"),itemstyle_opts=opts.ItemStyleOpts(color="green", opacity=0.7, border_color="white", border_width=1),).set_global_opts(title_opts=opts.TitleOpts(title="自定义热力图示例"),visualmap_opts=opts.VisualMapOpts(min_=0, max_=100, range_color=["#F5DEB3", "#FF6347", "#800000"]),)
)
# 渲染图表
heatmap_custom.render("heatmap_custom.html")

在这个示例中,我们通过itemstyle_opts参数调整了热力点的颜色、透明度、边框颜色和边框宽度。visualmap_opts用于调整视觉映射的范围和颜色。
在这里插入图片描述

炫酷动态热力图

最后,我们来创建一个炫酷的动态热力图,展示数据随时间的变化。

# 创建动态热力图
heatmap_dynamic = (HeatMap().add_xaxis(list(range(24))).add_yaxis(series_name="",yaxis_data=list(range(7)),value= data,label_opts=opts.LabelOpts(is_show=True, position="inside"),).set_global_opts(title_opts=opts.TitleOpts(title="动态热力图示例"),visualmap_opts=opts.VisualMapOpts(),timeline_opts=opts.TimelineOpts(is_auto_play=True,play_interval=500,pos_bottom="5%",pos_left="center",),)
)
# 添加时间轴数据
for i in range(7):heatmap_dynamic.add(series_name="",data_pair=list(zip(list(range(24)), [i] * 24, [random.randint(0, 100) for _ in range(24)])),)
# 渲染图表
heatmap_dynamic.render("heatmap_dynamic.html")

在动态热力图中,我们通过timeline_opts参数启用时间轴,然后通过add方法逐步添加每个时间点的数据。is_auto_play用于设置是否自动播放,play_interval设置播放间隔。

炫酷热力图的更多定制化

除了基础、自定义和动态热力图外,Pyecharts还提供了更多高级的定制化选项,使你能够创建炫酷且个性化的热力图。

空间热力图

有时候,我们需要在空间中展示数据的分布情况。以下是一个简单的三维热力图的例子:

from pyecharts.charts import Scatter3D# 生成示例数据
data_3d = [[i, j, random.randint(0, 100)] for i in range(24) for j in range(7)]# 创建三维热力图
scatter3d = (Scatter3D().add("", data_3d).set_global_opts(title_opts=opts.TitleOpts(title="三维热力图示例"),visualmap_opts=opts.VisualMapOpts(min_=0, max_=100, range_color=["#F5DEB3", "#FF6347", "#800000"]),)
)
# 渲染图表
scatter3d.render("3d_heatmap.html")

这个例子中,我们使用了Scatter3D图表来创建三维散点图,通过visualmap_opts设置了颜色映射。
在这里插入图片描述

地图热力图

如果你有地理空间数据,你可以使用地图热力图来展示数据在地图上的分布情况。以下是一个简单的地图热力图的例子:

from pyecharts.charts import Geo# 生成示例数据
data_geo = [(f"City{i}", random.randint(0, 100)) for i in range(1, 6)]# 创建地图热力图
geo = (Geo().add_schema(maptype="china").add("热力图",data_geo,type_=ChartType.HEATMAP,label_opts=opts.LabelOpts(is_show=True),).set_global_opts(title_opts=opts.TitleOpts(title="地图热力图示例"),visualmap_opts=opts.VisualMapOpts(min_=0, max_=100, range_color=["#F5DEB3", "#FF6347", "#800000"]),)
)
# 渲染图表
geo.render("map_heatmap.html")

在这个例子中,我们使用了Geo图表,通过add_schema添加了地图信息,然后通过add方法添加了热力图数据。

热力图的交互功能

Pyecharts提供了丰富的交互功能,使用户可以更灵活地探索热力图数据。以下是一个带有工具栏和数据缩放的热力图的例子:

# 创建交互热力图
heatmap_interactive = (HeatMap().add_xaxis(list(range(24))).add_yaxis(series_name="",yaxis_data=list(range(7)),value= data,label_opts=opts.LabelOpts(is_show=True, position="inside"),).set_global_opts(title_opts=opts.TitleOpts(title="交互热力图示例"),visualmap_opts=opts.VisualMapOpts(),toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"save_as_image": {}}),datazoom_opts=opts.DataZoomOpts(orient="horizontal"),)
)
# 渲染图表
heatmap_interactive.render("heatmap_interactive.html")

在这个例子中,我们通过toolbox_opts添加了工具栏,datazoom_opts添加了数据缩放功能。

在这里插入图片描述

进阶应用:热力图与其他图表的联动

Pyecharts提供了强大的图表联动功能,让你能够在一个页面上同时展示多个图表,并实现它们之间的联动。以下是一个热力图与折线图联动的例子:

from pyecharts.charts import Line# 生成示例折线图数据
data_line = [random.randint(0, 100) for _ in range(24)]# 创建联动图表
heatmap_linked = (HeatMap().add_xaxis(list(range(24))).add_yaxis(series_name="",yaxis_data=list(range(7)),value=data,label_opts=opts.LabelOpts(is_show=True, position="inside"),).set_global_opts(title_opts=opts.TitleOpts(title="热力图与折线图联动示例"),visualmap_opts=opts.VisualMapOpts(),toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"save_as_image": {}, "data_zoom": {}}),datazoom_opts=opts.DataZoomOpts(orient="horizontal"),)
)# 创建折线图
line_linked = (Line().add_xaxis(list(range(24))).add_yaxis("折线图", data_line, label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="折线图示例"),toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"save_as_image": {}, "data_zoom": {}}),datazoom_opts=opts.DataZoomOpts(orient="horizontal"),)
)# 使用Grid实现图表联动
grid = (Grid().add(heatmap_linked, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%")).add(line_linked, grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%"))
)
# 渲染图表
grid.render("heatmap_line_linked.html")

在这个例子中,我们使用了Grid图表容器来将热力图和折线图放在同一个页面上,并通过grid_opts设置它们的位置。两个图表之间通过datazoom_opts实现了联动效果,可以通过工具栏的数据缩放功能来调整展示的时间范围。

通过掌握这些进阶应用,你可以更灵活地结合不同类型的图表,实现更复杂的数据展示和分析。

结语

本文深入探讨了Pyecharts绘制多种炫酷热力图的参数说明和代码实战。从基础的热力图到空间热力图、地图热力图,再到图表的联动,希望这些例子能够帮助你更好地应用Pyecharts进行数据可视化工作。随着你在使用Pyecharts的过程中的不断尝试和实践,你将能够更深入地理解和掌握这个强大的可视化库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JavaSe篇】——封装,static成员,代码块

目录 👩🏻‍💻封装 🚩访问限定符 🚩封装扩展之包 👉导入包中的类 👉自定义包 🕶️操作步骤 👉包的访问权限控制举例 🕶️常见的包 👩&am…

10V单通道负载开关

概述 EM5220是一款单通道负载开关,具有可编程上升时间和集成输出放电控制。该设备包含一个P沟道NOSFET,可以通过输入进行操作电压范围为4.5V至10V。开关由接通和断开低电平逻辑输入控制,其能够与GPIO信号接口。设备的可编程上升时间可以减少…

Ruff应用:打破传统,IoT技术赋能工业制造数字化转型之路

近年来,随着物联网、大数据、云计算、5G等数字技术的快速应用,工业制造领域正在经历着前所未有的变革。工业4.0时代,各种数字技术与工业制造的结合,不仅提高了工业生产效率、降低运营成本,更是极大地推动了传统工业数字…

ssm跨域方案?

1、过滤器 2、xml配置 <mvc:cors><mvc:mapping path"/**" /> </mvc:cors>3、注解 CrossOrigin(origins “*”) 说明&#xff1a;三种方案&#xff0c;本质都是一样的、只是方式不一样罢了。

Vite+Vue3使用Vue-i18n笔记

一、下载依赖 vue-i18n yarn add vue-i18n创建存放语言文件的目录 以及配置文件的配置 我是在src/lang 新建index.ts、cn.ts、en.ts以及test文件夹其中再分别新建cn.ts以及en.ts /lang/index.ts 用于导出vue-i18n需要的配置对象 import en from "./en.ts"; import…

MySQL的原生API实现插入数据后在可视化工具上不显示的问题解决

显示表中有两行数据&#xff0c;该表也设置了主键和唯一索引 点进表里看却没有数据 问题原因出现在这里&#xff0c;虽然很多常用的数据库连接池都会开启自动提交&#xff0c;但ibatis的SqlSession使用sessionFactory.openSession()创建时&#xff0c;默认的自动提交是false&am…

com.alicp.jetcache.support.CacheEncodeException: Java Encode error 报错解决

目录 一、报错截图&#xff1a;二、报错原因三、解决方式 一、报错截图&#xff1a; Spring boot 整合 JetCache 使用Cached。报错如下&#xff1a; 二、报错原因 带有Cached注解的方法返回值对象没有实现序列化接口&#xff0c;如下图所示 三、解决方式 带有Cached注解的…

GP232RL国产USB串口如何兼容FT232RL开发资料

GP232RL是最新加入 ftdi 系列 usb 接口集成电路设备的设备。 232r是一个 usb 到串行 uart 接口&#xff0c;带有可选的时钟发生器输出&#xff0c;以及新的 ftdichip-idTM 安全加密器特性。此外&#xff0c;还提供了异步和同步位崩接口模式。 通过将外部 eeprom、时钟电路和 …

基础知识总结

概念概述 计算机网络是通过传输介质、通信设施和网络通信协议&#xff0c;把分散在不同地点的计算机设备互连起来&#xff0c;实现资源共享和数据传输的系统。而网络编程就是编写程序使联网的两个或多个设备&#xff08;比如计算机&#xff09;之间进行数据传输。Java语言对网…

MATLAB R2023B下载安装教程,免费使用,附安装包和工具,操作简单,小白也能轻松搞定

前言 MATLAB是一款商业数学软件&#xff0c;用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境&#xff0c;主要包括MATLAB和Simulink两大部分&#xff0c;可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等…

【正则表达式】获取html代码文本内所有<script>标签内容

文章目录 一. 背景二. 思路与过程1. 正则表达式中需要限定<script>开头与结尾2. 增加标签格式的限定3. 不限制<script>首尾的内部内容4. 中间的内容不能出现闭合的情况 三. 结果与代码四. 正则辅助工具 一. 背景 之前要对学生提交的html代码进行检查&#xff0c;在…

基于springboot招生管理系统源码和论文

在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括招生管理系统的网络应用&#xff0c;在外国招生管理系统已经是很普遍的方式&#xff0c;不过国内的管理网站可能还处于起步阶段。招生管理系统具有招生公告信息管理功能的选择…

2024-01-30(Hadoop_HDFS)

1.什么是大数据 狭义&#xff08;技术思维&#xff09;&#xff1a;使用分布式技术完成海量数据的处理&#xff0c;得到数据背后蕴含的价值。 广义&#xff1a;大数据是数字化时代&#xff0c;信息化时代的基础&#xff08;技术&#xff09;支撑&#xff0c;以数据为生活赋能…

win wsl2 Ubuntu-22.04 设置时间为国内时间

使用 wsl2 安装 Ubuntu-22.04 后 时间不正确&#xff0c;主要有两个原因 时区设置不正确&#xff0c;国内为京八区。 时区正确后&#xff0c;没有同步时间。&#xff08;大部分人容易忽略这一点&#xff09; Linux 默认情况下使用 UTC 格式作为标准时间格式&#xff0c;如果在…

双创竞赛项目申报:Java + Spring Boot的实战指南

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

单片机学习笔记---静态数码管显示

目录 数码管是什么&#xff1f; 一位数码管的引脚定义 四位一体的数码管引脚定义 数码管的原理图解析 数码管怎么显示数据&#xff1f;&#xff08;总结代码显示&#xff09; 今天开始学习数码管&#xff0c;它比LED和独立按键复杂一点 数码管是什么&#xff1f; LED数码…

如何获取到小程序appId

一、申请测试号 直接访问这个链接微信扫一下 微信公众平台 然后再去微信公众平台登录&#xff0c;账号的选择中就会多一个微信小程序测试号 选择登录即可获取到appid 二、注册一个微信小程序 第二种方式&#xff0c;去微信公众平台注册一个小程序。 注册完成后&#xff0c;…

ARM汇编 4.GNU伪指令、内联汇编

汇编伪指令格式 标号symbol&#xff08;label&#xff09; 注释符号&#xff1a; 整行注释&#xff1a;# 语句分离&#xff1a;&#xff1b; 立即数前缀&#xff1a;# 或 $ 分段&#xff1a;.section伪操作&#xff0c;用于自定义新的段 .text&#xff1a;代码段.data&am…

MP4格式视频怎么提取gif?一招教你在线做

MP4是一种常见的数字多媒体容器格式&#xff0c;它是一种使用最广泛的视频文件格式之一。MP4文件可以包含音频、视频和字幕等多种媒体数据&#xff0c;并且可以通过各种播放器和设备进行播放和共享。它是一种压缩格式&#xff0c;可以在保持相对较小文件大小的同时提供较高的视…

Java 的 Map 與 List

通過重新new 一個ArrayList 轉化 resTask.setList(new ArrayList<Group>(custMap.values())); 无序的Map List 有序的数据放到Map&#xff0c;就变成无序。 List排序 按照code 的字母进行排序A-Z resTask.getListData().sort(Comparator.comparing(Gmer::getCode));…