Python-PyEchart绘制地图Map
一、简介
参考官网地址:
https://pyecharts.org/#/zh-cn/intro
相关数据准备:
关注上面公众号,回复“地图”即可获取相关数据。
图对象具体配置参考:
全局配置参考:
JSON数据参考:
1、全国疫情可视化地图案例参考:
绘制地图工具模块:
#绘制地图通用模块
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
def fun_map(title,maptype,data):
"""
:fun_map:绘制地图函数
:param title: 添加数据 series_name系列名称
:param data: 地图相关数据
:param maptype: 地图类型
:return:
"""
#1、开始绘制地图
print("开始绘制地图")
# 2.准备地图对象
map = Map()
# 3.准备数据,所用数据都是列表嵌套元组 data已经传
# 4.添加数据 series_name系列名称,用于 tooltip 的显示,legend 的图例筛选
# data_pair 数据项 (坐标点名称,坐标点值)
# 地图类型,具体参考 pyecharts.datasets.map_filenames.json 文件
map.add(series_name=title,maptype=maptype,data_pair=data)
# 5.设置全局选项
map.set_global_opts(
# 视图功能
visualmap_opts=VisualMapOpts(
# 该参数设置视图开启
is_show=True,
# 该参数改变视图模式 是否为分段型
is_piecewise=True,
# 颜色和表签的设置 自定义的每一段的范围,以及每一段的文字,以及每一段的特别的样式
pieces=[
{"min": 1, "max": 499, "label": "1-499", "color": "##DCDCDC"},
{"min": 500, "max": 999, "label": "500-999", "color": "#FFFACD"},
{"min": 1000, "max": 1499, "label": "1000-1499", "color": "#FFFFFF"},
{"min": 1500, "max": 1999, "label": "1000-1999", "color": "#BBFFFF"},
{"min": 2000, "max": 4999, "label": "2000-4999", "color": "#7FFFD4"},
{"min": 5000, "max": 9999, "label": "5000-9999", "color": "#FF3030"},
{"min": 10000, "label": "600以上", "color": "#8B1A1A"}
]
)
)
# 6.绘图
map.render(f"{title}.html")
#对各省份数据进行处理
city_01=[]
def fun_city(city_name):
return city_name+"省"
调用地图工具模块中的函数:
##绘制全国疫情可视化地图
# 1.导包
import json
import map_tools
#2、导入数据
try:
#打开文件
file_data=open("D:\疫情.txt", "r", encoding="UTF-8")
#读取文件内容
#对JSON字符串的file_data转换为字典dict
file_data_dict=json.loads(file_data.read())
#关闭文件
file_data.close()
#获取指定层级的数据
city_list=file_data_dict["areaTree"][0]["children"]
# print(f"获取各城市的数据:{city_list}")
data_list=[]
# for循环组装数据列表
for city_data in city_list:
city_name=city_data["name"]
#处理各省份名称问题
city_name=map_tools.fun_city(city_name)
city_confirm_nums=city_data["total"]["confirm"]
#组成元组tuple
city_tuple_data=(city_name,city_confirm_nums)
#元组添加到data_list中
data_list.append(city_tuple_data)
#调用绘制地图函数
map_tools.fun_map("全国疫情可视化地图","china",data_list)
except Exception as e:
print(f"打开文件异常e:{e}")
效果图:
2、湖北省疫情情况地图绘制:
JSON数据层级:
使用地图工具绘制:
##绘制湖北疫情情况分布图
import json
from pyecharts_pack import map_tools
try:
#打开文件
file_data=open("D:\疫情.txt", "r", encoding="UTF-8")
#读取文件内容
#对JSON字符串的file_data转换为字典dict
file_data_dict=json.loads(file_data.read())
#关闭文件
file_data.close()
#获取指定层级的数据 6:代表湖北省
city_list=file_data_dict["areaTree"][0]["children"][6]["children"]
print(f"获取湖北省各城市的数据:{city_list}")
data_list=[]
# for循环组装数据列表
for city_data in city_list:
city_name=city_data["name"]+"市"
city_confirm_nums=city_data["total"]["confirm"]
#组成元组tuple
city_tuple_data=(city_name,city_confirm_nums)
#元组添加到data_list中
data_list.append(city_tuple_data)
#调用绘制地图函数
map_tools.fun_map("湖北省疫情可视化地图","湖北",data_list)
except Exception as e:
print(f"打开文件异常e:{e}")
绘制效果图:
文章来源:https://www.toymoban.com/news/detail-635651.html
更多优秀文章,请扫码关注个人微信公众号或搜索“程序猿小杨”添加。文章来源地址https://www.toymoban.com/news/detail-635651.html
到了这里,关于Python-PyEchart绘制地图(Map)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!