最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用Pyecharts繪制交互式中國(guó)地圖的流程解析

 更新時(shí)間:2026年02月03日 14:36:31   作者:站大爺IP  
Pyecharts作為基于ECharts的Python可視化庫(kù),提供三大核心優(yōu)勢(shì),即零代碼交互,多級(jí)地圖支持和高度定制化,下面我們就來(lái)看看如何使用Pyecharts繪制交互式中國(guó)地圖吧

一、為什么選擇Pyecharts繪制地圖

當(dāng)需要展示各省份經(jīng)濟(jì)指標(biāo)、人口分布或疫情數(shù)據(jù)時(shí),表格和柱狀圖往往難以直觀呈現(xiàn)地理空間關(guān)系。Pyecharts作為基于ECharts的Python可視化庫(kù),提供三大核心優(yōu)勢(shì):

  • 零代碼交互:生成的HTML地圖支持鼠標(biāo)懸停查看數(shù)值、縮放平移等操作
  • 多級(jí)地圖支持:從全國(guó)到縣級(jí)行政區(qū)劃均可渲染
  • 高度定制化:顏色漸變、邊界樣式、標(biāo)簽顯示等20+項(xiàng)參數(shù)可調(diào)

以2025年某電商平臺(tái)銷售數(shù)據(jù)為例,通過(guò)熱力地圖可快速發(fā)現(xiàn):廣東省銷售額占比達(dá)28%,而西北五省總和不足10%。這種空間分布特征在傳統(tǒng)圖表中難以直觀呈現(xiàn)。

二、環(huán)境準(zhǔn)備:安裝與配置

2.1 基礎(chǔ)安裝

pip install pyecharts

2.2 地圖數(shù)據(jù)包安裝(關(guān)鍵步驟)

Pyecharts采用模塊化地圖設(shè)計(jì),需單獨(dú)安裝對(duì)應(yīng)數(shù)據(jù)包:

# 中國(guó)省級(jí)地圖(必須安裝)
pip install echarts-china-provinces-pypkg

# 可選擴(kuò)展包
pip install echarts-china-cities-pypkg  # 市級(jí)地圖
pip install echarts-china-counties-pypkg  # 縣級(jí)地圖

常見(jiàn)問(wèn)題:若未安裝省級(jí)地圖包,渲染時(shí)會(huì)報(bào)錯(cuò)Map type "china" not exists

三、數(shù)據(jù)準(zhǔn)備:從原始數(shù)據(jù)到可視化格式

3.1 數(shù)據(jù)結(jié)構(gòu)要求

Pyecharts地圖需要特定格式的二維列表:

[("北京", 100), ("上海", 200), ("廣東", 300), ...]

3.2 實(shí)際案例處理

假設(shè)有如下CSV數(shù)據(jù)(部分展示):

省份,銷售額(億元)
北京,125
上海,210
廣東,380
江蘇,295
...

轉(zhuǎn)換代碼:

import pandas as pd

# 讀取CSV文件
df = pd.read_csv('sales_data.csv')

# 轉(zhuǎn)換為元組列表
data = list(zip(df['省份'], df['銷售額(億元)']))

3.3 數(shù)據(jù)驗(yàn)證技巧

# 檢查省份名稱是否規(guī)范(避免"廣東"與"廣東省"混用)
valid_provinces = {"北京", "上海", "廣東", "江蘇", ...}  # 完整列表見(jiàn)附錄
for item in data:
    if item[0] not in valid_provinces:
        print(f"發(fā)現(xiàn)無(wú)效省份名: {item[0]}")

四、基礎(chǔ)地圖繪制:三步完成可視化

4.1 最小可行代碼

from pyecharts.charts import Map
from pyecharts import options as opts

# 示例數(shù)據(jù)
data = [("北京", 100), ("上海", 200), ("廣東", 300)]

# 創(chuàng)建地圖
map_chart = (
    Map()
    .add("銷售額", data, "china")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2025年各省份銷售額"),
        visualmap_opts=opts.VisualMapOpts(max_=300)
    )
)

# 生成HTML文件
map_chart.render("china_map.html")

4.2 代碼解析

Map() :創(chuàng)建地圖對(duì)象

.add() :添加數(shù)據(jù)系列

  • 參數(shù)1:系列名稱(圖例顯示)
  • 參數(shù)2:數(shù)據(jù)列表
  • 參數(shù)3:地圖類型("china"表示中國(guó)地圖)

.set_global_opts() :全局配置

標(biāo)題、視覺(jué)映射等設(shè)置

.render() :輸出HTML文件

4.3 效果增強(qiáng)技巧

調(diào)整地圖中心點(diǎn)與縮放

.add(..., center=[105, 36], zoom=1.2)  # 中心點(diǎn)設(shè)為地理中心,適當(dāng)放大

優(yōu)化標(biāo)簽顯示

.set_series_opts(
    label_opts=opts.LabelOpts(
        is_show=True,  # 顯示標(biāo)簽
        color="#333",  # 標(biāo)簽顏色
        font_size=10   # 字體大小
    )
)

五、進(jìn)階美化:打造專業(yè)級(jí)地圖

5.1 分段顏色映射

.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(
        is_piecewise=True,  # 啟用分段
        pieces=[
            {"min": 0, "max": 100, "label": "0-100億", "color": "#FFE4E1"},
            {"min": 101, "max": 200, "label": "101-200億", "color": "#FF7F50"},
            {"min": 201, "max": 300, "label": "201-300億", "color": "#FF4500"},
            {"min": 301, "label": "300億以上", "color": "#8B0000"}
        ]
    )
)

5.2 自定義地圖樣式

.set_series_opts(
    itemstyle_opts=opts.ItemStyleOpts(
        area_color="#142957",  # 省份底色
        border_color="#00f2fe",  # 邊界顏色
        border_width=0.5  # 邊界寬度
    )
)

5.3 添加懸停高亮效果

.set_series_opts(
    emphasis_opts=opts.ItemStyleOpts(
        area_color="#00f2fe",  # 懸停時(shí)顏色
        border_color="#ffffff",  # 懸停時(shí)邊界
        border_width=2  # 懸停時(shí)邊界加粗
    )
)

六、完整案例:2025年各省份GDP熱力圖

6.1 數(shù)據(jù)準(zhǔn)備

gdp_data = [
    ("廣東", 124369.67), ("江蘇", 116364.2), 
    ("山東", 83095.90), ("浙江", 73516.3),
    ("河南", 58887.41), ("四川", 53850.79),
    ("湖北", 50012.94), ("福建", 48829.61),
    ("湖南", 46027.47), ("上海", 43214.85)
]

6.2 完整代碼

from pyecharts.charts import Map
from pyecharts import options as opts

# 創(chuàng)建地圖
map_chart = (
    Map()
    .add(
        series_name="GDP(億元)",
        data_pair=gdp_data,
        maptype="china",
        center=[105, 36],
        zoom=1.2
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="2025年中國(guó)各省份GDP分布",
            subtitle="數(shù)據(jù)來(lái)源:國(guó)家統(tǒng)計(jì)局",
            pos_left="center"
        ),
        visualmap_opts=opts.VisualMapOpts(
            is_piecewise=True,
            max_=125000,
            pieces=[
                {"min": 0, "max": 50000, "label": "<5萬(wàn)億", "color": "#FFE4E1"},
                {"min": 50001, "max": 80000, "label": "5-8萬(wàn)億", "color": "#FFDAB9"},
                {"min": 80001, "max": 100000, "label": "8-10萬(wàn)億", "color": "#FFA07A"},
                {"min": 100001, "label": ">10萬(wàn)億", "color": "#FF6347"}
            ],
            pos_left="10%",
            pos_top="20%"
        ),
        tooltip_opts=opts.TooltipOpts(
            trigger="item",
            formatter="<br/>{c}億元"
        )
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(
            is_show=True,
            color="#333",
            font_size=10
        ),
        itemstyle_opts=opts.ItemStyleOpts(
            area_color="#E6E6FA",
            border_color="#4682B4"
        ),
        emphasis_opts=opts.ItemStyleOpts(
            area_color="#9370DB",
            border_color="#FFFFFF",
            border_width=1.5
        )
    )
)

# 生成HTML
map_chart.render("2025_china_gdp_map.html")

6.3 效果說(shuō)明

分段顯示:GDP分為4個(gè)區(qū)間,不同顏色對(duì)應(yīng)不同量級(jí)

交互功能

  • 鼠標(biāo)懸停顯示省份名稱和具體數(shù)值
  • 地圖可縮放平移

視覺(jué)優(yōu)化

  • 標(biāo)題居中顯示
  • 圖例位于左側(cè)
  • 默認(rèn)縮放至合適比例

七、常見(jiàn)問(wèn)題解決方案

7.1 地圖顯示空白

原因:未安裝對(duì)應(yīng)地圖數(shù)據(jù)包

解決:根據(jù)報(bào)錯(cuò)提示安裝缺失的包,如:

pip install echarts-china-provinces-pypkg

7.2 省份名稱不匹配

表現(xiàn):部分省份顯示為灰色(無(wú)數(shù)據(jù))

檢查

  • 確認(rèn)省份名稱規(guī)范(如"內(nèi)蒙古"而非"內(nèi)蒙古自治區(qū)")
  • 使用完整省份列表核對(duì):
valid_provinces = {
    "北京", "天津", "河北", "山西", "內(nèi)蒙古", "遼寧", 
    "吉林", "黑龍江", "上海", "江蘇", "浙江", "安徽", 
    "福建", "江西", "山東", "河南", "湖北", "湖南", 
    "廣東", "廣西", "海南", "重慶", "四川", "貴州", 
    "云南", "西藏", "陜西", "甘肅", "青海", "寧夏", 
    "新疆"
}

7.3 數(shù)值范圍顯示異常

現(xiàn)象:顏色映射不準(zhǔn)確

解決:在VisualMapOpts中明確設(shè)置max_值:

.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(
        max_=50000,  # 手動(dòng)設(shè)置最大值
        is_piecewise=True
    )
)

八、擴(kuò)展應(yīng)用場(chǎng)景

8.1 結(jié)合Flask/Django嵌入網(wǎng)頁(yè)

# Flask示例
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def show_map():
    # 生成地圖(實(shí)際項(xiàng)目中可緩存結(jié)果)
    map_chart.render("templates/map.html")
    return render_template("map.html")

if __name__ == '__main__':
    app.run()

8.2 動(dòng)態(tài)數(shù)據(jù)更新

通過(guò)JavaScript定時(shí)刷新數(shù)據(jù)(需配合ECharts的setOption方法):

// 偽代碼示例
setInterval(function() {
    fetch('/api/get_new_data')
        .then(res => res.json())
        .then(data => {
            myChart.setOption({
                series: [{
                    data: data
                }]
            });
        });
}, 5000);

8.3 3D地圖效果

需安裝額外擴(kuò)展包:

pip install pyecharts-gallery

3D地圖示例:

from pyecharts.charts import Map3D
from pyecharts import options as opts

map3d = (
    Map3D()
    .add_schema(
        maptype="china",
        itemstyle_opts=opts.ItemStyleOpts(
            color="#1E90FF",
            opacity=1,
            border_width=0.8
        )
    )
    .add(
        series_name="",
        data_pair=data,
        type_="bar3D",
        shading="lambert",
        label_opts=opts.LabelOpts(
            is_show=False
        )
    )
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(max_=300)
    )
)
map3d.render("3d_map.html")

九、總結(jié)與建議

  • 快速上手:從基礎(chǔ)代碼開始,逐步添加配置項(xiàng)
  • 數(shù)據(jù)驗(yàn)證:確保省份名稱規(guī)范,數(shù)值范圍合理
  • 交互設(shè)計(jì):合理設(shè)置縮放、標(biāo)簽顯示等交互參數(shù)
  • 性能優(yōu)化:大數(shù)據(jù)量時(shí)考慮使用is_map_symbol_show=False隱藏標(biāo)記點(diǎn)
  • 持續(xù)學(xué)習(xí):關(guān)注Pyecharts官方文檔更新,掌握新特性

通過(guò)本文介紹的流程,即使沒(méi)有前端開發(fā)經(jīng)驗(yàn),也能快速創(chuàng)建出專業(yè)級(jí)的交互式地圖。實(shí)際項(xiàng)目中可根據(jù)需求組合使用基礎(chǔ)地圖、分段顏色、3D效果等特性,打造更具說(shuō)服力的數(shù)據(jù)可視化作品。

到此這篇關(guān)于Python使用Pyecharts繪制交互式中國(guó)地圖的流程解析的文章就介紹到這了,更多相關(guān)Python Pyecharts繪制交互式地圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python字符串替換第一個(gè)字符串的方法

    python字符串替換第一個(gè)字符串的方法

    這篇文章主要介紹了python字符串替換第一個(gè)字符串的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • python庫(kù)patchworklib多圖表整合用法示例探究

    python庫(kù)patchworklib多圖表整合用法示例探究

    這篇文章主要介紹了python庫(kù)patchworklib對(duì)齊matplotlib圖表,將多個(gè)圖表的整合為單一圖表用法示例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Windows下PyCharm2018.3.2 安裝教程(圖文詳解)

    Windows下PyCharm2018.3.2 安裝教程(圖文詳解)

    這篇文章主要介紹了Windows下PyCharm2018.3.2 安裝教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python語(yǔ)法學(xué)習(xí)之進(jìn)程的創(chuàng)建與常用方法詳解

    Python語(yǔ)法學(xué)習(xí)之進(jìn)程的創(chuàng)建與常用方法詳解

    本文我們將學(xué)習(xí)一下在?Python?中去創(chuàng)建并使用多進(jìn)程的方法,可以通過(guò)創(chuàng)建多個(gè)進(jìn)程來(lái)幫助我們提高腳本執(zhí)行的效率,感興趣的可以了解一下
    2022-04-04
  • Python實(shí)現(xiàn)list反轉(zhuǎn)實(shí)例匯總

    Python實(shí)現(xiàn)list反轉(zhuǎn)實(shí)例匯總

    這篇文章主要介紹了Python實(shí)現(xiàn)list反轉(zhuǎn)的方法,實(shí)例總結(jié)了關(guān)于list的各種較為常見(jiàn)的操作技巧,需要的朋友可以參考下
    2014-11-11
  • python uv常用命令使用及說(shuō)明

    python uv常用命令使用及說(shuō)明

    uv是一個(gè)快速的現(xiàn)代構(gòu)建系統(tǒng)和包管理器,支持虛擬環(huán)境管理、包安裝與卸載、項(xiàng)目構(gòu)建和發(fā)布等功能,旨在比傳統(tǒng)工具更快,更多詳情請(qǐng)參考官方文檔
    2026-01-01
  • 使用numba對(duì)Python運(yùn)算加速的方法

    使用numba對(duì)Python運(yùn)算加速的方法

    今天小編就為大家分享一篇使用numba對(duì)Python運(yùn)算加速的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python中線上目錄遍歷的避坑指南

    Python中線上目錄遍歷的避坑指南

    做服務(wù)器運(yùn)維、日志歸檔、磁盤巡檢、過(guò)期文件清理時(shí),幾乎人人都要寫目錄遍歷腳本,線上目錄遠(yuǎn)比本地測(cè)試環(huán)境復(fù)雜,本文小編為大家整理了一些Python中線上目錄遍歷的避坑方法,希望對(duì)大家有所幫助
    2026-06-06
  • Python把csv文件轉(zhuǎn)換為excel文件

    Python把csv文件轉(zhuǎn)換為excel文件

    本文主要介紹了Python把csv文件轉(zhuǎn)換為excel文件,可以使用xlrd,xlrwt,openpyxl,xlwings,pandas 等庫(kù)操作 Excel,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • Python實(shí)現(xiàn)自動(dòng)分析Windows事件日志

    Python實(shí)現(xiàn)自動(dòng)分析Windows事件日志

    Windows事件日志是排障的第一現(xiàn)場(chǎng),本文教你用 Python 的 win32evtlog 模塊和 PowerShell 橋接方案,自動(dòng)化收集過(guò)濾和分析事件日志,感興趣的小伙伴可以了解下
    2026-05-05

最新評(píng)論

防城港市| 开封县| 卓尼县| 会同县| 易门县| 灵寿县| 芷江| 龙山县| 九江县| 霞浦县| 湘潭县| 沙湾县| 稻城县| 苏尼特左旗| 准格尔旗| 伊春市| 临汾市| 神木县| 武宁县| 南江县| 称多县| 寻乌县| 义乌市| 潮州市| 内丘县| 东山县| 沾化县| 铜梁县| 府谷县| 蒲江县| 开江县| 龙里县| 石柱| 教育| 汽车| 乌兰察布市| 土默特左旗| 比如县| 镇巴县| 托里县| 饶平县|