首页 > 其他分享 >利用pyecharts实现地图下钻

利用pyecharts实现地图下钻

时间:2024-04-06 19:22:33浏览次数:25  
标签:case pyecharts 地图 break 利用 html location opts

参考地址:利用pyecharts实现中国省与市之间的跳转_pyecharts点击地图跳转-CSDN博客

代码:

import csv
import jionlp as jio
from pyecharts import options as opts
from pyecharts.charts import Map
from collections import Counter
import random

from pyecharts.globals import ThemeType

place = []
province = []
city = []
county = []
filename = "E:\\数据\\allnew.csv"
with open(filename, 'r', encoding='ansi') as file:
    df = csv.reader(file)
    data = list(df)
for row in data:
    if row[4] != '地址':
        place.append(row[4])
print(place)
area = ''
for position in place:
    area = position
    df_str = jio.parse_location(area)  # jionlp分词 河北省石家庄市分为河北省 石家庄市
    province.append(df_str['province'])
    city.append(df_str['city'])
    county.append(df_str['county'])

province_num = Counter(province)  # 计算各个省出现的次数
city_num = Counter(city)
county_num = Counter(county)
pro = province_num.items()  # 例如河北省出现两次,转化为dict_items([('河北省',2)])
cis = city_num.items()
cos = county_num.items()
print(pro)
plist = []
cilist = []
colist = []
for data in pro:
    plist.append(data)  # 将其转化为list的形式    [('河北省',2)]
for data in cis:
    cilist.append(data)
for data in cos:
    colist.append(data)
print(plist)
print(cilist)
map_chart = Map()
map_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="各省项目数"),
    visualmap_opts=opts.VisualMapOpts(max_=100),
)

map_chart.add("各省项目数", plist)
map_chart.set_series_opts(
    label_opts=opts.LabelOpts(is_show=False),
    emphasis_label_opts=opts.LabelOpts(is_show=False),
)

map_chart.render(path='各省项目数.html')
# 对应的省市地图的生成
for i in city:
    province_city = (
        Map(init_opts=opts.InitOpts(width="1500px", height="800px", theme=ThemeType.VINTAGE))
        .add("",
             cilist,
             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")
    )
'''
for i in county:
    province_county = (
        Map(init_opts=opts.InitOpts(width="1500px", height="800px", theme=ThemeType.VINTAGE))
        .add("",
             colist,  # 可以自己写一个字典写各个省份下的市所对应的数据,在这里只是一个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")
    )
'''

在生成的各省项目数.html文件<script></script>的最后一句上加上跳转连接  chart_66e2afdd6d494dde8b4a2b09d1720668  要换成上一句

chart_66e2afdd6d494dde8b4a2b09d1720668.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;
                        default:
                            break;
                    }

            }
      });

 问题:上面的python代码由于是使用jionlp进行省市县的分词的,因此分出来会是河北省,但是在建立省份地图的时候是要找河北,因此会出现生成的HTML文件运行出来的是一片空白

 

如果是自治州、自治区就不用修改,只用修改省市区县的

标签:case,pyecharts,地图,break,利用,html,location,opts
From: https://www.cnblogs.com/cinan/p/18117783

相关文章

  • [翻译]盲SSRF利用链术语表
    盲SSRF利用链术语表盲SSRF利用链术语表介绍什么是服务器请求伪造(SSRF)?SSRF(Server-SideRequestForgery:服务请求伪造)是一种由攻击者构造,从而让服务端发起请求的一种安全漏洞,它将一个可以发起网络请求的服务当作跳板来攻击其他服务,SSRF的攻击目标一般是内网。当服务......
  • 利用客户端的计算资源,为现代大型模型开发提供新的动力
    引言随着技术的发展,大型模型在处理复杂任务时表现出越来越强的能力,无论是在自然语言处理、图像识别还是其他领域。然而,这些模型往往需要巨大的计算资源,这对于许多企业和个人来说,是一笔不小的开销。当前,绝大多数的大型模型运算都在服务器端完成,客户端仅作为发送请求和接收结......
  • ida数据提取技巧-利用LazyIDA插件实现一键提取无法识别的字符串
    首先具体介绍一下这个技巧的意思,因为标题可能没有说的很明白在使用ida逆向分析的过程中,会遇到某些密文、密钥之类的字符串,而这些字符串往往不全是由正常字符组成的,其中存在一些非常规字符,而一旦ida在识别字符串的过程识别到这种字符,就会认为该字符串到此已经结束(但我们知道,字......
  • 10米精度NPP净初级生产力数据/NDVI数据/植被类型数据/土地利用数据
     数据下载链接:百度云下载链接        数据福利是专门为关注小编博客及公众号的朋友定制的,未关注用户不享受免费共享服务,已经被列入黑名单的用户和单位不享受免费共享服务。参与本号发起的数据众筹,向本号捐赠过硬盘以及多次转发、评论的朋友优先享有免费共享服务。净......
  • 高德地图API
    1.准备注册账号,申请应用https://console.amap.com/dev/key/apphttps://lbs.amap.com/api/javascript-api-v2/summary2.Vue3中使用定位和搜索插件<template><divstyle="text-align:center;align-items:center"><el-row><el-co......
  • ctfshow--web14 sql注入利用``的清奇的绕过
    输入c=3就会跳出来这个url复制并访问,看这个页面应该是sql注入有注释可看,看看他过滤了哪些东西点击查看代码if(preg_match('/information_schema\.tables|information_schema\.columns|linestring||polygon/is',$_GET['query'])){ die('@A@'); }点击查看代码查看......
  • 如何利用c调用python代码
    C语言调用python通过C语言调用Python代码,需要先安装libpython3的dev依赖库(不同的ubuntu版本下,python版本可能会有差异,比如ubuntu22.04里是libpython3.10-dev)。首先可以通过以下命令验证是否是否已经存在python3的dev包dpkg-l|greplibpython3正常会有类似如下的输出,出......
  • 利用AI结合无极低码(免费版)快速实现接口开发教程,会sql即可,不需要编写编译代码
    无极低码无代码写服务+AI实践本次演示最简单的单表无代码增删改查发布服务功能,更复杂的多表操作,安全验证,多接口调用,自自动生成接口服务,生成二开代码,生成调用接口测试,一键生成管理界面多条件检索、修改、删除、查看、通用公共接口调用、通用无限级字典调用等后续逐步更新,请......
  • 如何为您的网站构建和提交 XML 站点地图
    向Google提交站点地图可以让搜索引擎抓取您的内容并为其建立索引。这对您的SEO有利。明白了吗?不,我想......
  • 利用python 实现微信自动回复
    全是干货,上代码#!/usr/bin/python3#-*-coding:utf-8-*-importpandasaspdimportnumpyasnpfromuiautomationimportWindowControl,MenuControl#绑定微信主窗口wx=WindowControl(Name='微信',#searchDepth=1)#切换窗口wx.SwitchToThi......