利用pyecharts实现中国省与市之间的跳转

article/2025/8/18 17:52:50

利用pyecharts实现中国省与市之间的跳转

  • 需求
  • 需要的包
  • 参考
  • 正文
    • 读取excel中的数据
    • 生成全国地图
    • 生成各省份地图
    • 将全国地图与各省市地图相互链接

需求

地图上显示中国各省份名称及相对应的数据(存于excel中,数据可自己定义读取),随鼠标移动显示;点击某省份能够进入该省份的地图,并且显示每个市/区名称以及各市/区对应的数据。

需要的包

import pandas as pd
from pyecharts.charts import Map
from pyecharts import options as opts
from pyecharts.globals import ThemeType

参考

Python轻松实现地图可视化(附详细源码)
地图点击省跳转到市_用Python来绘制自己的个人足迹地图,精确到市级别

正文

读取excel中的数据

这个是自己随意敲得一个表格,包含各省份名称及对应的数据
|  |  ||--|--||  |  |

data = pd.read_excel('GDP.xlsx')
province = list(data["province"])
clss = list(data["class"])
list = [list(z) for z in zip(province, clss)]

生成全国地图

# maptype='china' 只显示全国直辖市和省级
map = Map(init_opts=opts.InitOpts(width="1500px", height="800px", theme=ThemeType.VINTAGE))  # 添加主题
map.set_global_opts(# 标题配置项title_opts=opts.TitleOpts(title="等级分布地图",pos_left="center"),# 图例配置项legend_opts=opts.LegendOpts(is_show=True,pos_left="left",),# 视觉影射配置项visualmap_opts=opts.VisualMapOpts(min_=1,  # 组件最小值max_=32,range_text = ['等级程度分布颜色区间:', ''],  # 两端文本名称is_piecewise=True,  # 定义图例为分段型,默认为连续的图例pos_top= "middle",  # 组件离容器左侧的距离pos_left="left",orient="vertical",  # 布局方式为垂直布局,水平为horizonsplit_number=5  # 分成5个区间)
)
map.add("程度", list, maptype="china")
map.render("全国.html")

效果如下
一只漂亮的大公鸡

生成各省份地图

同样的,读取各省份名称,一键生成

# province同上,是一个由省份名称组成的列表,如['河南', '山西']
# 切记,不要带省,只要名字就行
for i in province:  province_city = (Map(init_opts=opts.InitOpts(width="1500px", height="800px", theme=ThemeType.VINTAGE)).add("",list,  # 可以自己写一个字典写各个省份下的市所对应的数据,在这里只是一个range()i).set_global_opts(title_opts=opts.TitleOpts(title=i + "地图"),visualmap_opts=opts.VisualMapOpts(min_=1,max_=17,is_piecewise=True)).render(path=i + "地图.html"))

效果如下
在这里插入图片描述

太多了这里只放了部分省份地图
在这里插入图片描述
在这里插入图片描述

切记,list中的城市名称一定要与地图上显示的名称对应,否则相对应的数据会显示不出来

将全国地图与各省市地图相互链接

        chart_775f962500534f508fafa003f08442f9.on('click', function (param){var selected = param.name;if (selected) {switch(selected){case '北京':location.href = "./北京地图.html";break;case '上海':location.href = "./上海地图.html";break;case '天津':location.href = "./天津地图.html";break;case '四川':location.href = "./四川地图.html";break;case '安徽':location.href = "./安徽地图.html";break;case '山东':location.href = "./山东地图.html";break;case '江苏':location.href = "./江苏地图.html";break;case '江西':location.href = "./江西地图.html";break;case '河北':location.href = "./河北地图.html";break;case '浙江':location.href = "./浙江地图.html";break;case '海南':location.href = "./海南地图.html";break;case '湖北':location.href = "./湖北地图.html";break;case '湖南':location.href = "./湖南地图.html";break;case '广东':location.href = "./广东地图.html";break;case '福建':location.href = "./福建地图.html";break;case '甘肃':location.href = "./甘肃地图.html";break;case '广西':location.href = "./广西地图.html";break;case '贵州':location.href = "./贵州地图.html";break;case '河南':location.href = "./河南地图.html";break;case '黑龙江':location.href = "./黑龙江地图.html";break;case '内蒙古':location.href = "./内蒙古地图.html";break;case '吉林':location.href = "./吉林地图.html";break;case '辽宁':location.href = "./辽宁地图.html";break;case '宁夏':location.href = "./宁夏地图.html";break;case '青海':location.href = "./青海地图.html";break;case '山西':location.href = "./山西地图.html";break;case '陕西':location.href = "./陕西地图.html";break;case '台湾':location.href = "./台湾地图.html";break;case '西藏':location.href = "./西藏地图.html";break;case '新疆':location.href = "./新疆地图.html";break;case '云南':location.href = "./云南地图.html";break;case '重庆':location.href = "./重庆地图.html";break;default:break;}}});

首先打开"全国.html"的源代码,找到这个id
在这里插入图片描述
把上面那一段代码中的chart_后面的一串数字改成自己生成的地图id,将这段代码添加到<script></script>代码段中的最后(一定不要放在最前面,会什么都显示不出来),然后点击保存就可以啦。


http://chatgpt.dhexx.cn/article/cqjiatc9.shtml

相关文章

html弹跳qq群号代码,抖音上QQ群霸屏消息代码分享_抖音上QQ群霸屏消息代码大全-街机中国...

今天抖音上很多人拍摄在QQ中发送代码&#xff0c;可以让表情霸屏的视频。小编的QQ群也收到了很多霸屏贴表情消息。 首先 复制代码&#xff1a;sticker_start_tag_for_text{"originMsgType":0,"x":0.07037036865949631,"y":0.97685185223817825,&…

微信小程序点击跳转页面

第一步&#xff1a;index.wxml <button bindtap"gotoPage" style"color: rgb(151, 27, 27);">详情页面</button> 第二步&#xff1a;index.js // 详情页面跳转页面gotoPage: function (options) {wx.navigateTo({url: /pages/xiang/xiang,…

中国地图实现点击某省市区域跳转到相应页面

源码下载见页底 <!DOCTYPE html> <html><head><meta charset="utf-8"><title>中国地图-点见省市区域页面跳转</title></head><body><style>#main{background-color: #B1D0EC;width: 600px; height: 600px; ma…

java的html跳转,java跳转html并传值

java跳转html并传值 [2021-01-30 05:39:20] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐:《PHP视频教 php实现跳转传值的…

java jmap_Java常用分析工具之jmap

简介 jmap是JDK中提供的一个用来监视进程运行中的jvm物理内存的占用情况的工具。该进程内存内&#xff0c;所有对象的情况&#xff0c;例如产生了哪些对象&#xff0c;对象数量。当系统崩溃时&#xff0c;jmap 可以从core文件或进程中获得内存的具体匹配情况&#xff0c;包括He…

JVM工具之jmap命令使用

写在前面 该命令可用于查看虚拟机中对象实例数以及占用空间大小&#xff0c;生成堆转储文件&#xff0c;之后结合jvirsualvm等工具进行可视化查看&#xff0c;辅助定位程序的内存异常问题。 测试代码 public class ManyObj {private static List<People> peopleList …

JVM命令行监控工具之jmap(JVM Memory Map)

jmap简介 jmap(JVM Memory Map)一方面可以获取dump文件&#xff08;堆转储快照文件&#xff0c;二进制文件&#xff09;&#xff0c;它还可以获取目标Java进程的内存相关信息&#xff0c;包括Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。 选项作用-dump生成…

jmap详解

这里写自定义目录标题 简介理论知识实践部分1. 找到进程id2. 生成内存快照3. Java堆和方法区的详细信息、内存空间使用率、当前用的是哪种收集器 简介 这个命令非常重要&#xff0c;主要是生成java进程当前&#xff08;当前指的是执行命令的时刻&#xff09;内存堆转储快照&am…

jmap的使用以及内存溢出分析

jmap的使用以及内存溢出分析 jmap(java内存映像工具) jmap(Memory Map for Java&#xff09;命令用于生成堆转储快照&#xff08;一般称为heapdump或dump文件&#xff09;。还有几种方式获取dump文件&#xff1a;使用JVM参数选项-XX:HeapDumpOnOutOfMemoryError参数&#xff…

Java的jmap命令使用详解

jmap命令简介 jmap&#xff08;Java Virtual Machine Memory Map&#xff09;是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具。除此以外&#xff0c;jmap命令还可以查看finalize执行队列、Java堆和方法区的详细信息&#xff0c;比如空间使用率、当前使用…

Python Numpy .npy文件打开

首先找到你的npy文件的路径&#xff08;我的npy文件在D盘下&#xff0c;名字叫test.npy&#xff09; 2 打开编写python的软件&#xff08;我的软件是pycharm&#xff09; 3 新建一个python文件&#xff0c;用于后面的编程使用。&#xff08;我先建的python文件名叫test&#xf…

Numpy文件交互:.npy和.npz有什么区别?

文章目录 saveloadsavezsavez_compressed Numpy提供了以.npy为后缀的文件存储方案&#xff0c;与这种文件格式密切相关的读、写函数分别是np.load和np.save。通过savez可以一次性存储多个数组&#xff0c;并可通过load以键值对的形式读取出来&#xff1b;如果觉得文件太大&…

什么是npy文件,为什么要用npy格式保存文件?

文章目录 一、官方文档&#xff08;中文&#xff09;二、官方文档&#xff08;英文&#xff09;三、为什么要用npy文件保存文件四、读取和保存&#xff08;1&#xff09;加载npy文件&#xff0c;并将npy文件写入一个txt文件&#xff08;2&#xff09;保存npy文件&#xff08;3&…

深度学习入门之如何制作npz、npy文件

一、需求 论文《EyeTracking for everyone》中提出了iTracker神经网络,并构建了一个叫GazeCapture的数据库,将其部分数据集下载后,可以看到文件的层次结构如下图所示: 其中,整个数据集的后缀名是npz,内部文件的后缀名是npy。由于该数据集是面向Apple产品系列的,而我的…

tecplot切面

注意要选择Volume Zone

面向切面

面向切面是什么 AOP即面向切面编程。 让你只专注于核心业务功能的实现&#xff0c;而不用花太多精力去管像日志、事务等各个项目通用的功能。 把非核心的业务逻辑抽象成一个切面&#xff0c;在程序运行过程中自动注入该功能&#xff0c;这就是面向切面&#xff0c;其底层是通…

Spring AOP 之 多切面

接着上文&#xff1a;https://blog.csdn.net/single_wolf_wolf/article/details/81772837 多切面 相对来说&#xff0c;只是定义多个切面类&#xff0c;同时配置类中设置一下&#xff0c; demo如下&#xff1a; 首先定义一个接口&#xff1a; package com.cmb.multi;public…

spring切面注解失效

在项目中使用切面注解做数据脱敏时,导出的数据也需要脱敏处理,遇到了在一个类里面调用本类的方法切面失效,解决方法如下: 切面注解: package com.t3.ts.driver.resume.aspect;import java.lang.annotation.*;/*** Description: 数据脱敏注解 Filed* Date: 2019/9/10* Author:…

自定义切面类

直接贴入代码 &#xff0c;注释写的很清楚 此处为controller层 方法上加上自定义的切面注解 入参实体 public class TestM extends BaseModel{/****/private static final long serialVersionUID 1L; private String a;public String getA() {return a; }public void setA(S…

java 切面 注解_十、使用注解定义切面

一、本课目标 掌握使用注解实现AOP的方法 二、使用注解定义切面 2.1简介 AspectJ 面向切面的框架,它扩展了Java语言,定义了AOP语法,能够在编译期提供代码的织入。 @AspectJ AspectJ5新增的功能,使用JDK5.0注解技术和正规的AspectJ切点表达式语言描述切面(所以在使用@Aspect…