综合案例-数据可视化-地图

news/2024/10/4 19:53:52/文章来源:https://blog.csdn.net/my_heart_goon/article/details/142027860

一、pyecharts—地图快速入门

假设我们要将6个地区的某种数量在地图上标注出来,首先导入pyecharts包内地图相关模块,然后准备地图数据(数据类型是列表,列表的元素类型为元组),然后把准备好的数据添加进地图。补充细节,设置全局选项,不同的数量段用不同颜色标注出来,使效果更加直观。最后,生成地图。

代码示例:

#导包
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
#构建地图
map=Map()
#准备地图数据
data=[           #数据类型:元素类型为元组的列表('北京市',99),('上海市',199),('湖南省',299),('山东省',199),('安徽省',499),('河南省',366),('湖北省',599)
]
#添加地图数据
map.add('地图',data,'china') #不输入地图类型'China'也默认是'China'
#设置全局选项
map.set_global_opts(visualmap_opts=VisualMapOpts(is_show=True,is_piecewise=True, #手动校准范围pieces=[           #范围定义是一个列表{'min': 1, 'max': 9, 'label': '1-9人', 'color': '#CCFFFF'},  #'color': '#CCFFFF'颜色值,详见RGB颜色对照表{'min': 10, 'max': 99, 'label': '10-99人', 'color': '#FFFF99'},{'min': 100, 'max': 299, 'label': '100-299人', 'color': '#6699FF'},{'min': 300, 'max':499, 'label': '300-499人', 'color': '#F38F24'},{'min': 500, 'max': 599, 'label': '500-599人', 'color': '#CC3333'},{'min': 600,  'label': '600人以上', 'color': '#990033'},])
)
#生成地图
map.render()

运行代码后会产生新文件render.html,用Edge浏览器打开,即可看到生成的地图。

关于Map_visualmap_piecewise的详细说明,可访问官网:

DocumentDescriptionicon-default.png?t=O83Ahttps://gallery.pyecharts.org/#/Map/map_visualmap_piecewise在设置全局选项时,用到了颜色值,颜色值是6位,什么值对应什么颜色,可通过RGB颜色对照表一一对应。

可访问如下网站进行了解RGB颜色对照表:RGB颜色对照表-RGB颜色查询对照表-颜色代码表-颜色的英文名称大全-懒人工具|www.ab173.com懒人站长工具提供RGB颜色对照表,RGB颜色查询对照表、常见的网页颜色代码表,常见颜色的英文名称颜色表查询!icon-default.png?t=O83Ahttp://www.ab173.com/gongju/ui/rgb.php

二、进阶-全国疫情地图

2.1分析文件数据

文件“ 疫情.txt ”记录了全国各个地区的疫情数据(确诊人数,治愈人数等等),文件链接:
链接:https://pan.baidu.com/s/1Q9az5lIKuWbMTIxzXRtX_A?pwd=1yts 
提取码:1yts

文件“ 疫情.txt ”是标准的json格式,我们通过网站(如下所示)可以更直观地看出数据层级。在线JSON校验格式化工具(Be JSON)在线,JSON,JSON 校验,格式化,xml转json 工具,在线工具,json视图,可视化,程序,服务器,域名注册,正则表达式,测试,在线json格式化工具,json 格式化,json格式化工具,json字符串格式化,json 在线查看器,json在线,json 在线验证,json tools online,在线文字对比工具icon-default.png?t=O83Ahttps://www.bejson.com/

使用步骤如图:

数据层级如下:

数据层级图

通过在线网站工具,点击“+",一级一级展开,体验展开过程,也许会更容易理解。

简单分析完数据层级后,我们决定要做一个反映各个省份疫情确诊人数的地图,则地图类型默认中国,地图数据类型为列表,列表内元素类型为元组,一个元组就包括:一个省份名称+确诊人数。

2.2处理数据

我们要处理一下文件“ 疫情.txt ”中的数据,数据本身就是标准的json格式,不再需要处理开头与结尾,步骤如下:

  1. 首先,我们要读取数据文件。
  2. 然后将json数据转换为python字典。
  3. 然后从字典中取出children列表内的数据(即包括省份名称+确诊人数的数据)。
  4. 最后利用for循环组装每个省份名称+确诊人数为元组,将所有元组封装在列表内。

代码如下所示:

#准备地图数据
#读取数据文件
f=open('E:/可视化案例数据/地图数据/疫情.txt','r',encoding='UTF-8')
data=f.read()  #获取文件内全部数据
#取完数据后就用不到文件了,关闭文件即可
f.close()
#将json数据转换为python字典
data_dict=json.loads(data)
#从字典中取出省份数据
province_data_list=data_dict['areaTree'][0]['children']
#组装每个省份名称和确诊人数为元组,将所有元组封装在列表内
data_list=[]  #绘图要用到的数据列表
for province_data in province_data_list:province_name=province_data['name']+'省'            #省份名称,拼接字符串的原因在代码下方province_confirm=province_data['total']['confirm'] #确诊人数data_list.append((province_name,province_confirm)) #放入列表中

第三步:从字典中取出children列表内的数据(即包括省份名称+确诊人数的数据),我们需要先访问字典data_dict中的列表'areaTree',然后访问列表'areaTree'中第一个元素,其类型为字典,然后访问此字典内的列表'children',结合数据层级图,更容易理解。

第四步:利用for循环组装每个省份名称+确诊人数为元组,将所有元组封装在列表内,在获取省份名称的时候,我在后面拼接了字符串'省',因为现在pyecharts包要求,地区后面添加上相应后缀:省,市,行政区,最后生成的地图才会显示数据,而我们现在用的这份文件没有相应后缀,所以我拼接了字符串'省',至于市和行政区,我没有再去添加,最后生成的地图也没有市和行政区的数据,还望读者见谅。还有一个需要注意的问题:append函数的参数只有1个,我们在此处追加的是元组类型的元素,追加了一个元组,元组内是省份名称+确诊人数2个参数,不要忽略元组的括号。

回顾append函数:http://t.csdnimg.cn/kKNQE 3.3.2在列表尾部添加指定元素。回顾元组知识:http://t.csdnimg.cn/XIMOe 。

2.3构建地图

构建地图的步骤如下所示:

  1. 首先构建地图对象map
  2. 添加上一步处理好的数据
  3. 设置全局配置选项(标题,地区颜色)
  4. 生成地图

代码如下:

#构建地图
map=Map()
#添加地图数据
map.add('全国各省份确诊人数',data_list) #最后一个参数没写,默认地图类型为中国
#设置全局配置选项
map.set_global_opts(title_opts=TitleOpts(title='全国疫情地图'), #设置地图标题visualmap_opts=VisualMapOpts(is_show=True,is_piecewise=True, #是否分段pieces=[           #定义分段范围{'min': 1, 'max': 99, 'label': '1-99人', 'color': '#CCFFFF'},  #'color': '#CCFFFF'颜色值,详见RGB颜色对照表{'min': 100, 'max': 999, 'label': '100-999人', 'color': '#FFFF99'},{'min': 1000, 'max': 4999, 'label': '1000-4999人', 'color': '#6699FF'},{'min': 5000, 'max':9999, 'label': '5000-9999人', 'color': '#F38F24'},{'min': 10000, 'max': 99999, 'label': '10000-99999人', 'color': '#CC3333'},{'min': 100000,  'label': '10万人以上', 'color': '#990033'},])
)
#生成地图
map.render('全国疫情地图.html')  #控制生成的文件名

运行代码后会产生新文件 “ 全国疫情地图.html ” ,用Edge浏览器打开,即可看到生成的地图。

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

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

相关文章

自动驾驶ADAS算法--使用MATLBA和UE4生成测试视频

原文参考:金书世界 环境搭建参考:用MATLAB2020b和虚拟引擎(Unreal Engine)联合仿真输出AVM全景测试视频----Matlab环境搭建 matlab参考: https://ww2.mathworks.cn/help/driving/ug/simulate-a-simple-driving-sce…

show命令监控分析mysql实例信息

文章目录 思维导图show 查看数据库实例相关信息SHOW VARIABLES 分析数据库当前变量设置分析连接数据分析线程数分析慢查询变量分析缓存相关分析字符集相关 SHOW STATUS 数据库当前实时状态分析分析连接数据分析线程数分析慢查询分析查询缓存分析排序使用情况分析文件打开数mysq…

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:error是设置我们失败的logo 设置的文字上…

浏览器插件利器--allWebPluginV2.0.0.20-alpha版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

【论文精读】 | 用于时间序列预测的通道对齐坚固的混合Transformer

文章目录 0、摘要1、介绍2、相关工作2.1 用于时间序列预测的Transformers2.2 用于时间序列预测的 RNN、MLP 和 CNN 模型 3、模型结构3.1 令牌化3.2 CARD 注意力胜过token3.3 CARD 注意力胜过渠道3.4 token 混合模块 4、基于信号衰减的损失函数5、实验5.1 长期预测5.2 基于重建的…

一文梳理RAG(检索增强生成)的现状与挑战

一 RAG简介 大模型相较于过去的语言模型具备更加强大的能力,但在实际应用中,例如在准确性、知识更新速度和答案透明度方面,仍存在不少问题,比如典型的幻觉现象。因此,检索增强生成 (Retrieval-Augmented Generation, …

猫眼电影字体破解(图片转码方法)

问题 随便拿一篇电影做样例。我们发现猫眼的页面数据在预览窗口中全是小方框。在当我们拿到源码以后,数据全是加密后的。所以我们需要想办法破解加密,拿到数据。 破解过程 1.源码获取问题与破解 分析 在我们刚刚请求url的时候是可以得到数据的&#xff…

『功能项目』主角身旁召唤/隐藏坐骑【20】

本章项目成果展示 我们打开上一篇19坐骑UI搭建及脚本控制显/隐的项目, 本章要做的事情是在坐骑UI界面点击召唤及隐藏坐骑的功能 首先在外包中拖拽一个坐骑熊的预制体 完全解压缩 重命名为MountBear 在资源文件夹Resources下的/预制体文件夹Prefabs下新建坐骑文件夹…

HUAWEI华为MateBook B5-420 i5 集显(KLCZ-WXX9,KLCZ-WDH9)原装出厂Windows10系统文件下载

适用型号:KLCZ-WXX9、KLCZ-WDH9 链接:https://pan.baidu.com/s/12xnaLtcPjZoyfCcJUHynVQ?pwdelul 提取码:elul 华为原装系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、华为浏览器、Office办公软件、华为…

基于SpringBoot的图书馆座位预约系统+小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…

被低估的SQL

SQL是现代数据库管理系统中不可或缺的一部分。尽管它的使用已十分普遍,但在数据处理领域,SQL的某些功能和潜力仍然被许多人低估。接下来,小编将与您一起,探讨SQL的一些被忽视的特性,揭示它在数据管理中的真正实力。 1.…

【计算机网络】TCP协议(下)

上篇我们介绍了三次握手四次挥手,这次继续来进行tcp的介绍。 1 TINE_WAIT与CLOSE_WAIT 我们先使用客户端作为左端,服务端作为右方 当我们客户端close时,就会发起两次挥手,此时服务端就会进入CLOSE_WAIT状态,只要服务端…

【Prometheus】Prometheus安装部署流程详解,配置参数webUI使用方法解析说明

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Vivado编译报错黑盒子问题

1 问题描述 “Black Box Instances: Cell **** of type ** has undefined contents and is considered a back box. The contents of this cell must be defined for opt_design to complete successfully.” 检查工程代码提示的模块,该模块为纯手写的Veril…

一个基于Spring实现的热更新插件开发框架

前言 对于其他解释性语言来说,热更新根本不是什么事,但对于Java来说是多么的不容易,现在使用Java开发的热更新系统,基本使用JS编写脚本,然后用Java的JavaScript引擎来跑脚本。 spring-hot-plugin 现在有一款开源的S…

无人机人工增雨技术详解

无人机,全称为无人驾驶飞行器(Unmanned Aerial Vehicle, UAV),是一种不需要人员直接操控,而是利用先进的遥控技术、自主飞行控制系统和传感器技术来实现空中飞行和完成特定任务的飞行器。 一、技术原理 无人机人工增雨…

【MySQL】MySQL Workbench下载安装、环境变量配置、基本MySQL语句、新建Connection

1.MySQL Workbench 下载安装: 进入网址:MySQL :: MySQL Workbench Manual :: 2 Installation (1)点击“MySQL Workbench on Windows”(下载Windows版本)(2)点击“Installing” &…

春日美食汇:基于SpringBoot的订餐平台

2 系统关键技术 2.1JSP技术 JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件()。htm,。Html) [1]。 JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性&#xf…

实验八 输入/输出流

实验目的及要求 目的:通过实验掌握java提供的输入/输出包中类的使用,特别是一些常用的类的方法的使用,运用流的概念实现对象的序列化。 要求: (1)编写程序使用BufferedReader和BufferedWriter对文件进行…

恶意代码分析-Lab01-01

实验一 这个实验使用Lab01-01.exe和Lab01-01.d文件,使用本章描述的工具和技术来获取关于这些文件的信息。 问题: 将文件上传至 http:/www.VirusTotal.com/进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗?这些文件是什么时候编译的?这两个文件中是否存在迹象说明它…