使用python绘制地图的示例代码

 更新时间:2023年08月10日 11:40:26   作者:不能再留遗憾了  
要在Python中绘制地图,你可以使用各种库和工具包,其中最常用的是matplotlib和folium,本文就来给大家介绍一下如何使用python绘制地图,文章通过代码示例介绍的非常详细,需要的朋友可以参考下

如何绘制地图

前面我们绘制折线图需要用到 pyecharts.charts模块下的 Line方法,那么要绘制地图我们需要用到 pyecahrts.charts模块下的 Map方法。基本思想跟绘制折线图是相似的,不同的就是绘制折线图使用的数据是列表,列表中的每个元素是 字典,而绘制地图的数据也是列表,但每个元素是 元组

导入模块

from pyecharts.charts import Map

创建空地图

map = Map()

提供测试用例

data = [
    ("北京市",499),
    ("上海市",399),
    ("广东省",299),
    ("湖北省",199),
    ("湖南省",99)
]

这里需要注意,我们的数据要和地图上的数据保持一致,例如:地图上是北京市,如果我们用北京,就会出问题。

将数据添加进地图中

map.add("测试地图",data,"china")

第一个参数是绘制的地图的名称。第二个参数是添加的数据,第三个参数是什么类型的地图,默认是中国地图。

生成带有数据的地图

map.render()

在这里插入图片描述

当然这种地图看的很单调,我们同样可以添加一些配置项来更生动的展现数据。

添加配置项

map.set_global_opts(
    title_opts=TitleOpts(title="这是一个测试地图",pos_left="center",pos_bottom="1%"),  # 标题
    visualmap_opts=VisualMapOpts(
        is_show=True,  # 是否显示视觉映射
        is_piecewise=True,  # 是否允许自定义颜色
        pieces=[
            {"min": 1,"max": 99,"label": "1-99","color": "#125616"},
            {"min": 100,"max": 199,"label": "100-199","color": "#121d56"},
            {"min": 200,"max": 299,"label": "200-299","color": "#56124d"},
            {"min": 300,"max": 399,"label": "300-399","color": "#565212"},
            {"min": 400,"max": 499,"label": "400-499","color": "#e53436"},
        ])  # 这里如果我们不知道相对应的颜色的代码的话,我们可以去自行去搜索
)

这里需要注意:我们的数据的范围应该与颜色的范围对应,数据的范围应该在设置的颜色的范围内。例如如果你的数据中没有大于500的数据,那么你设置的颜色的范围也不应该包含大于500的范围段。

在这里插入图片描述

根据已有数据绘制地图

这里我们的提供的数据是关于中国各省疫情确诊人数的。如果大家也想练手的话,欢迎私信我拿数据。

在这里插入图片描述

我们先看看数据的层次。

在这里插入图片描述

我们先获取到所有省份的确诊人数。

import json
# 打开数据所在文件
f = open("D:/桌面/疫情.txt","r",encoding="UTF8")
# 读取数据
data = f.read()
f.close()
# 将JSON数据转换为python数据
data_dict = json.loads(data)
province_data_list = data_dict["areaTree"][0]["children"]

将获取到的数据装进元组中。

data_list = []
# 将数据放入元组中
for i in province_data_list:
    province_name = i["name"]
    province_data = i["total"]["confirm"]
    data_list.append((province_name,province_data))

绘制地图

map = Map()
map.add("各省份确诊人数", data_list, "china")
map.set_global_opts(
    title_opts=TitleOpts(title="全国疫情图",pos_left="center",pos_bottom="1%"),
    visualmap_opts=VisualMapOpts(
        is_show=True,
        is_piecewise=True,
        pieces=[
            {"min": 1, "max": 99, "label": "1-99人", "color": "#cfe4c4"},
            {"min": 100, "max": 999, "label": "100-999人", "color": "#c4d2e4"},
            {"min": 1000, "max": 4999, "label": "1000-4999人", "color": "#e3c4e4"},
            {"min": 5000, "max": 9999, "label": "5000-9999人", "color": "#e4c4d5"},
            {"min": 10000, "max": 99999, "label": "10000-99999人", "color": "#e4cac4"},
        ])
)
map.render("全国疫情图.html")  # 我们可以为形成的html文件命名

在这里插入图片描述

整体代码展示

import json
from pyecharts.charts import Map
from pyecharts.options import TitleOpts,VisualMapOpts
map = Map()
# 打开数据所在文件
f = open("D:/桌面/疫情.txt","r",encoding="UTF8")
# 读取数据
data = f.read()
f.close()
# 将JSON数据转换为python数据
data_dict = json.loads(data)
province_data_list = data_dict["areaTree"][0]["children"]
data_list = []
# 将数据放入元组中
for i in province_data_list:
    province_name = i["name"]
    province_data = i["total"]["confirm"]
    data_list.append((province_name,province_data))
map = Map()
map.add("各省份确诊人数", data_list, "china")
map.set_global_opts(
    title_opts=TitleOpts(title="全国疫情图",pos_left="center",pos_bottom="1%"),
    visualmap_opts=VisualMapOpts(
        is_show=True,
        is_piecewise=True,
        pieces=[
            {"min": 1, "max": 99, "label": "1-99人", "color": "#cfe4c4"},
            {"min": 100, "max": 999, "label": "100-999人", "color": "#c4d2e4"},
            {"min": 1000, "max": 4999, "label": "1000-4999人", "color": "#e3c4e4"},
            {"min": 5000, "max": 9999, "label": "5000-9999人", "color": "#e4c4d5"},
            {"min": 10000, "max": 99999, "label": "10000-99999人", "color": "#e4cac4"},
            # {"min": 1000000, "max": "10万+", "label": "1000000-10万+", "color": "#e4cac4"}
        ])
)
map.render("全国疫情图.html")

以上就是详解如何使用python绘制地图的详细内容,更多关于python绘制地图的资料请关注脚本之家其它相关文章!

相关文章

  • Python 函数的递归详解

    Python 函数的递归详解

    这篇文章主要为大家介绍了Python 函数的递归,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 在Django框架中设置语言偏好的教程

    在Django框架中设置语言偏好的教程

    这篇文章主要介绍了在Django框架中设置语言偏好的教程,Django是最具人气的Python框架,需要的朋友可以参考下
    2015-07-07
  • Python实现读取TXT文件数据并存进内置数据库SQLite3的方法

    Python实现读取TXT文件数据并存进内置数据库SQLite3的方法

    这篇文章主要介绍了Python实现读取TXT文件数据并存进内置数据库SQLite3的方法,涉及Python针对txt文件的读取及sqlite3数据库的创建、插入、查询等相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • Python实现的爬取百度贴吧图片功能完整示例

    Python实现的爬取百度贴吧图片功能完整示例

    这篇文章主要介绍了Python实现的爬取百度贴吧图片功能,结合完整实例形式分析了Python实现的百度贴吧图片爬虫相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • 基于Pygame实现简单的贪吃蛇游戏

    基于Pygame实现简单的贪吃蛇游戏

    Pygame是一个专门用来开发游戏的Python模块,主要用于开发、设计 2D 电子游戏。本文主要为大家介绍了通过Pygame制作一个简单的贪吃蛇游戏,感兴趣的同学可以关注一下
    2021-12-12
  • 本地部署Python Flask并搭建web问答应用程序框架实现远程访问的操作方法

    本地部署Python Flask并搭建web问答应用程序框架实现远程访问的操作方法

    Flask是一个Python编写的Web微框架,使用Python语言快速实现一个网站或Web服务,本期教程我们使用Python Flask搭建一个web问答应用程序框架,并结合cpolar内网穿透工具将我们的应用程序发布到公共网络上,实现可多人远程进入到该web应用程序访问,需要的朋友可以参考下
    2023-12-12
  • Python中的函数参数传递问题

    Python中的函数参数传递问题

    这篇文章主要介绍了Python中的函数参数传递问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 一文详解Python灰色预测模型实现示例

    一文详解Python灰色预测模型实现示例

    这篇文章主要为大家介绍了Python灰色预测模型实现示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Python算法应用实战之栈详解

    Python算法应用实战之栈详解

    栈是什么,你可以理解为一种先入后出的数据结构(First In Last Out),一种操作受限的线性表。下面这篇文章主要给大家介绍了Python中栈的应用实战,文中给出了多个实例,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • python实现录屏功能(亲测好用)

    python实现录屏功能(亲测好用)

    这篇文章主要介绍了使python实现录屏功能(亲测好用),本文通过实例代码给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论