• Python综合案例(基本地图使用)


     一、基本地图的使用

    基本代码: 

    1. """
    2. 演示地图可视化的基本使用
    3. """
    4. from pyecharts.charts import Map
    5. from pyecharts.options import VisualMapOpts
    6. # 准备地图对象
    7. map = Map()
    8. # 准备数据
    9. data = [
    10. ("北京", 99),
    11. ("上海", 199),
    12. ("湖南", 299),
    13. ("台湾", 399),
    14. ("广东", 499)
    15. ]
    16. # 添加数据
    17. map.add("测试地图", data, "china")
    18. # 设置全局选项
    19. map.set_global_opts(
    20. visualmap_opts=VisualMapOpts(
    21. is_show=True,
    22. is_piecewise=True,
    23. pieces=[
    24. {"min": 1, "max": 9, "label": "1-9", "color": "#CCFFFF"},
    25. {"min": 10, "max": 99, "label": "10-99", "color": "#FF6666"},
    26. {"min": 100, "max": 500, "label": "100-500", "color": "#990033"}
    27. ]
    28. )
    29. )
    30. # 绘图
    31. map.render()

    基本效果:

    二、全国疫情地图的使用

    代码实现:

    1. """
    2. 演示全国疫情可视化地图开发
    3. """
    4. import json
    5. from pyecharts.charts import Map
    6. from pyecharts.options import *
    7. # 读取数据文件
    8. f = open("D:/疫情.txt", "r", encoding="UTF-8")
    9. data = f.read() # 全部数据
    10. # 关闭文件
    11. f.close()
    12. # 取到各省数据
    13. # 将字符串json转换为python的字典
    14. data_dict = json.loads(data) # 基础数据字典
    15. # 从字典中取出省份的数据
    16. province_data_list = data_dict["areaTree"][0]["children"]
    17. # 组装每个省份和确诊人数为元组,并各个省的数据都封装入列表内
    18. data_list = [] # 绘图需要用的数据列表
    19. for province_data in province_data_list:
    20. province_name = province_data["name"] # 省份名称
    21. province_confirm = province_data["total"]["confirm"] # 确诊人数
    22. data_list.append((province_name, province_confirm))
    23. # 创建地图对象
    24. map = Map()
    25. # 添加数据
    26. map.add("各省份确诊人数", data_list, "china")
    27. # 设置全局配置,定制分段的视觉映射
    28. map.set_global_opts(
    29. title_opts=TitleOpts(title="全国疫情地图"),
    30. visualmap_opts=VisualMapOpts(
    31. is_show=True, # 是否显示
    32. is_piecewise=True, # 是否分段
    33. pieces=[
    34. {"min": 1, "max": 99, "lable": "1~99人", "color": "#CCFFFF"},
    35. {"min": 100, "max": 999, "lable": "100~9999人", "color": "#FFFF99"},
    36. {"min": 1000, "max": 4999, "lable": "1000~4999人", "color": "#FF9966"},
    37. {"min": 5000, "max": 9999, "lable": "5000~99999人", "color": "#FF6666"},
    38. {"min": 10000, "max": 99999, "lable": "10000~99999人", "color": "#CC3333"},
    39. {"min": 100000, "lable": "100000+", "color": "#990033"},
    40. ]
    41. )
    42. )
    43. # 绘图
    44. map.render("全国疫情地图.html"
    三、河南省地图

    代码实现:

    1. """
    2. 演示河南省疫情地图开发
    3. """
    4. import json
    5. from pyecharts.charts import Map
    6. from pyecharts.options import *
    7. # 读取文件
    8. f = open("D:/疫情.txt", "r", encoding="UTF-8")
    9. data = f.read()
    10. # 关闭文件
    11. f.close()
    12. # 获取河南省数据
    13. # json数据转换为python字典
    14. data_dict = json.loads(data)
    15. # 取到河南省数据
    16. cities_data = data_dict["areaTree"][0]["children"][3]["children"]
    17. # 准备数据为元组并放入list
    18. data_list = []
    19. for city_data in cities_data:
    20. city_name = city_data["name"] + "市"
    21. city_confirm = city_data["total"]["confirm"]
    22. data_list.append((city_name, city_confirm))
    23. # 手动添加济源市的数据
    24. data_list.append(("济源市", 5))
    25. # 构建地图
    26. map = Map()
    27. map.add("河南省疫情分布", data_list, "河南")
    28. # 设置全局选项
    29. map.set_global_opts(
    30. title_opts=TitleOpts(title="河南省疫情地图"),
    31. visualmap_opts=VisualMapOpts(
    32. is_show=True, # 是否显示
    33. is_piecewise=True, # 是否分段
    34. pieces=[
    35. {"min": 1, "max": 99, "lable": "1~99人", "color": "#CCFFFF"},
    36. {"min": 100, "max": 999, "lable": "100~9999人", "color": "#FFFF99"},
    37. {"min": 1000, "max": 4999, "lable": "1000~4999人", "color": "#FF9966"},
    38. {"min": 5000, "max": 9999, "lable": "5000~99999人", "color": "#FF6666"},
    39. {"min": 10000, "max": 99999, "lable": "10000~99999人", "color": "#CC3333"},
    40. {"min": 100000, "lable": "100000+", "color": "#990033"},
    41. ]
    42. )
    43. )
    44. # 绘图
    45. map.render("河南省疫情地图.html")

     基本效果:

  • 相关阅读:
    哈夫曼树的定义、原理及哈夫曼编码
    2023 我们一同走过
    【python海洋专题二十四】南海年平均海流图
    【笔记篇】12订单履约系统——之《实战供应链》
    C语言编写图形化界面-创建按钮-为其指定样式
    Redis数据持久化方式RDB和AOF的区别
    人群聚集逻辑
    IT职业规划:大公司VS小公司,怎样选择更有前途?
    ProtoBuf、Grpc、GORM、Go-redis 入门基础
    RabbitMQ(四) RabbitMQ的七种消息收发方式和四种交换机
  • 原文地址:https://blog.csdn.net/weixin_51293134/article/details/132678831