如何用python实现地图数据可视化

本文介绍如何使用 Python 的 PyEcharts 库构建基础地图、全国及省级疫情地图,并展示具体代码实现和效果。

目录

1、基础地图使用

2、全国疫情地图构建

json数据分析处理

 代码实现

效果展示

 3、省份疫情地图构建

代码实现

效果展示


 

 

1、基础地图使用

from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
map=Map()
data=[
    ('北京',99),
    ('湖北',9999),
    ('四川',19),
    ('上海',979),
    ('福建',499),
    ('深圳',299),
    ('台湾',39),
    ('深圳',699),
    ('安徽',3299),
    ('新疆',1299)
]
map.add('地图',data,'china')
map.set_global_opts(
    visualmap_opts=VisualMapOpts(
        is_show=True,
        is_piecewise=True,
        pieces=[
            {'min':1,'max':99,'label':'1-99','color':'#CCFFEE'},
            {'min':100,'max':999,'label':'100-999','color':'#FF6666'},
            {'min':1000,'max':9999,'label':'1000-9999','color':'#990033'}
        ]
    )
)
map.render()

fd63a19f2e22484b82952ad08da51244.png

 

2、全国疫情地图构建

json数据分析处理

12df3193b40b45e8964a4c55050db2fc.png

 代码实现

import json
from pyecharts.charts import Map
from pyecharts.options import TitleOpts,VisualMapOpts
# 字符串前面加上r可以取消转义字符的作用
f=open(r'D:/txt\add\疫情.txt','r',encoding='UTF-8')
content=f.read()
f.close()
data=json.loads(content)
data=data['areaTree'][0]["children"]
datalist=[]
for prodata in data:
    proname=prodata['name']
    pronum=prodata['total']["confirm"]
    datalist.append((proname,pronum))
# print(datalist)
map=Map()
map.add('各省份确诊人数',datalist,'china')
map.set_global_opts(
    title_opts=TitleOpts(title='全国疫情地图'),
    visualmap_opts=VisualMapOpts(is_show=True,is_piecewise=True,pieces=[
        {'min':1,'max':99,'lable':'1-99人','color':'#CCFFFF'},
        {'min':100,'max':999,'lable':'100-999人','color':'#FFFF99'},
        {'min':1000,'max':4999,'lable':'1000-4999人','color':'#FF9966'},
        {'min':5000,'max':9999,'lable':'5000-9999人','color':'#FF6666'},
        {'min':10000,'max':99999,'lable':'10000-99999人','color':'#CC3333'},
        {'min':100000,'lable':'100000+人','color':'#990033'}
    ])
)
map.render('全国疫情地图.html')

效果展示

cfc2b7f6c0d648baafbf70d919609e16.png

 3、省份疫情地图构建

代码实现

import json
from pyecharts.charts import Map
from pyecharts.options import TitleOpts,VisualMapOpts
# 字符串前面加上r可以取消转义字符的作用
f=open(r'D:/txt\add\疫情.txt','r',encoding='UTF-8')
content=f.read()
f.close()
data=json.loads(content)
data=data['areaTree'][0]["children"][3]["children"]
datalist=[]
for city_data in data:
    city_name=city_data['name']+'市'
    city_num=city_data['total']["confirm"]
    datalist.append((city_name,city_num))
# print(datalist)
map=Map()
map.add('河南省确诊分布',datalist,'河南')
map.set_global_opts(
    title_opts=TitleOpts(title='全国疫情地图'),
    visualmap_opts=VisualMapOpts(is_show=True,is_piecewise=True,pieces=[
        {'min':1,'max':99,'lable':'1-99人','color':'#CCFFFF'},
        {'min':100,'max':999,'lable':'100-999人','color':'#FFFF99'},
        {'min':1000,'max':4999,'lable':'1000-4999人','color':'#FF9966'},
        {'min':5000,'max':9999,'lable':'5000-9999人','color':'#FF6666'},
        {'min':10000,'max':99999,'lable':'10000-99999人','color':'#CC3333'},
        {'min':100000,'lable':'100000+人','color':'#990033'}
    ])
)
map.render('河南省疫情地图.html')

效果展示

473940ba413349f6bcb0b70d3773be23.png

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coleak

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值