Python-PyEchart绘制地图(Map)

Python-PyEchart绘制地图Map

一、简介

参考官网地址:

https://pyecharts.org/#/zh-cn/intro

相关数据准备:

    关注上面公众号,回复“地图”即可获取相关数据。

Python-PyEchart绘制地图(Map)_第1张图片

图对象具体配置参考:

Python-PyEchart绘制地图(Map)_第2张图片

全局配置参考:

Python-PyEchart绘制地图(Map)_第3张图片

JSON数据参考:

Python-PyEchart绘制地图(Map)_第4张图片

1、全国疫情可视化地图案例参考:

绘制地图工具模块:

#绘制地图通用模块from pyecharts.charts import Mapfrom 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 jsonimport 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}")

效果图:

Python-PyEchart绘制地图(Map)_第5张图片

2、湖北省疫情情况地图绘制:

JSON数据层级:

Python-PyEchart绘制地图(Map)_第6张图片

使用地图工具绘制:

##绘制湖北疫情情况分布图import jsonfrom 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}")

绘制效果图:

Python-PyEchart绘制地图(Map)_第7张图片

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

你可能感兴趣的:(Python,python,开发语言,信息可视化,数据分析)