欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用python繪制地圖的示例代碼

 更新時間:2023年08月10日 11:40:26   作者:不能再留遺憾了  
要在Python中繪制地圖,你可以使用各種庫和工具包,其中最常用的是matplotlib和folium,本文就來給大家介紹一下如何使用python繪制地圖,文章通過代碼示例介紹的非常詳細,需要的朋友可以參考下

如何繪制地圖

前面我們繪制折線圖需要用到 pyecharts.charts模塊下的 Line方法,那么要繪制地圖我們需要用到 pyecahrts.charts模塊下的 Map方法?;舅枷敫L制折線圖是相似的,不同的就是繪制折線圖使用的數(shù)據(jù)是列表,列表中的每個元素是 字典,而繪制地圖的數(shù)據(jù)也是列表,但每個元素是 元組

導(dǎo)入模塊

from pyecharts.charts import Map

創(chuàng)建空地圖

map = Map()

提供測試用例

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

這里需要注意,我們的數(shù)據(jù)要和地圖上的數(shù)據(jù)保持一致,例如:地圖上是北京市,如果我們用北京,就會出問題。

將數(shù)據(jù)添加進地圖中

map.add("測試地圖",data,"china")

第一個參數(shù)是繪制的地圖的名稱。第二個參數(shù)是添加的數(shù)據(jù),第三個參數(shù)是什么類型的地圖,默認是中國地圖。

生成帶有數(shù)據(jù)的地圖

map.render()

在這里插入圖片描述

當然這種地圖看的很單調(diào),我們同樣可以添加一些配置項來更生動的展現(xiàn)數(shù)據(jù)。

添加配置項

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"},
        ])  # 這里如果我們不知道相對應(yīng)的顏色的代碼的話,我們可以去自行去搜索
)

這里需要注意:我們的數(shù)據(jù)的范圍應(yīng)該與顏色的范圍對應(yīng),數(shù)據(jù)的范圍應(yīng)該在設(shè)置的顏色的范圍內(nèi)。例如如果你的數(shù)據(jù)中沒有大于500的數(shù)據(jù),那么你設(shè)置的顏色的范圍也不應(yīng)該包含大于500的范圍段。

在這里插入圖片描述

根據(jù)已有數(shù)據(jù)繪制地圖

這里我們的提供的數(shù)據(jù)是關(guān)于中國各省疫情確診人數(shù)的。如果大家也想練手的話,歡迎私信我拿數(shù)據(jù)。

在這里插入圖片描述

我們先看看數(shù)據(jù)的層次。

在這里插入圖片描述

我們先獲取到所有省份的確診人數(shù)。

import json
# 打開數(shù)據(jù)所在文件
f = open("D:/桌面/疫情.txt","r",encoding="UTF8")
# 讀取數(shù)據(jù)
data = f.read()
f.close()
# 將JSON數(shù)據(jù)轉(zhuǎn)換為python數(shù)據(jù)
data_dict = json.loads(data)
province_data_list = data_dict["areaTree"][0]["children"]

將獲取到的數(shù)據(jù)裝進元組中。

data_list = []
# 將數(shù)據(jù)放入元組中
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("各省份確診人數(shù)", 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()
# 打開數(shù)據(jù)所在文件
f = open("D:/桌面/疫情.txt","r",encoding="UTF8")
# 讀取數(shù)據(jù)
data = f.read()
f.close()
# 將JSON數(shù)據(jù)轉(zhuǎn)換為python數(shù)據(jù)
data_dict = json.loads(data)
province_data_list = data_dict["areaTree"][0]["children"]
data_list = []
# 將數(shù)據(jù)放入元組中
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("各省份確診人數(shù)", 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繪制地圖的詳細內(nèi)容,更多關(guān)于python繪制地圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于Django OneToOneField和ForeignKey的區(qū)別詳解

    基于Django OneToOneField和ForeignKey的區(qū)別詳解

    這篇文章主要介紹了基于Django OneToOneField和ForeignKey的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python字符串的創(chuàng)建和駐留機制詳解

    Python字符串的創(chuàng)建和駐留機制詳解

    字符串駐留是一種在內(nèi)存中僅保存一份相同且不可變字符串的方法,本文重點給大家介紹Python字符串的創(chuàng)建和駐留機制,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • 使用python-cv2實現(xiàn)Harr+Adaboost人臉識別的示例

    使用python-cv2實現(xiàn)Harr+Adaboost人臉識別的示例

    這篇文章主要介紹了使用python-cv2實現(xiàn)Harr+Adaboost人臉識別的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python基礎(chǔ)教程之正則表達式基本語法以及re模塊

    Python基礎(chǔ)教程之正則表達式基本語法以及re模塊

    正則表達式是可以匹配文本片段的模式,今天的Python就跟大家一起討論一下python中的re模塊,python re模塊感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03
  • python列表倒序的幾種方法(切片、reverse()、reversed())

    python列表倒序的幾種方法(切片、reverse()、reversed())

    本文主要介紹了python列表倒序的幾種方法(切片、reverse()、reversed()),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • python排序算法之歸并排序

    python排序算法之歸并排序

    這篇文章主要介紹了python排序算法之歸并排序,歸并排序算法就是一個先把數(shù)列拆分為子數(shù)列,對子數(shù)列進行排序后,再把有序的子數(shù)列合并為完整的有序數(shù)列的算法,需要的朋友可以參考下
    2023-04-04
  • python 進程池pool使用詳解

    python 進程池pool使用詳解

    這篇文章主要介紹了python 進程池pool使用的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python進程,感興趣的朋友可以了解下
    2020-10-10
  • Python中的上下文管理器和with語句的使用

    Python中的上下文管理器和with語句的使用

    本篇文章主要介紹了Python中的上下文管理器和with語句的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Django Model中字段(field)的各種選項說明

    Django Model中字段(field)的各種選項說明

    這篇文章主要介紹了Django Model中字段(field)的各種選項說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python日期和時間戳的轉(zhuǎn)換的實現(xiàn)方式

    Python日期和時間戳的轉(zhuǎn)換的實現(xiàn)方式

    Python中日期和時間的處理涉及到time和datetime模塊,time模塊可實現(xiàn)時間戳與格式化時間字符串的轉(zhuǎn)換,而datetime模塊則提供更加直接易用的接口,本文詳細給大家介紹了Python日期和時間戳的轉(zhuǎn)換的實現(xiàn)方式,需要的朋友可以參考下
    2024-10-10

最新評論