Python-PyEchart绘制地图(Map)
一、简介
参考官网地址:
https://pyecharts.org/#/zh-cn/intro
相关数据准备:
关注上面公众号,回复“地图”即可获取相关数据。

图对象具体配置参考:

全局配置参考:

JSON数据参考:

1、全国疫情可视化地图案例参考:
绘制地图工具模块:
#绘制地图通用模块from pyecharts.charts import Mapfrom pyecharts.options import VisualMapOptsdef 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 jsonimport map_tools#2、导入数据try:#打开文件file_data=open("D:\疫情.txt", "r", encoding="UTF-8")#读取文件内容#对JSON字符串的file_data转换为字典dictfile_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"]#组成元组tuplecity_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 jsonfrom pyecharts_pack import map_toolstry:#打开文件file_data=open("D:\疫情.txt", "r", encoding="UTF-8")#读取文件内容#对JSON字符串的file_data转换为字典dictfile_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"]#组成元组tuplecity_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}")
绘制效果图:

更多优秀文章,请扫码关注个人微信公众号或搜索“程序猿小杨”添加。