熱線電話:13121318867

登錄
首頁大數據時代【干貨】5分鐘學會數據可視化:使用Pyecharts繪制地圖
【干貨】5分鐘學會數據可視化:使用Pyecharts繪制地圖
2025-02-25
收藏

在數據分析中,地圖是一種非常直觀的可視化工具,能夠幫助我們更好地理解數據在地理空間上的分布情況。無論是展示銷售數據、人口分布、還是疫情傳播,地圖都能提供一目了然的信息。本文將詳細介紹如何使用Pyecharts繪制地圖,適合數據分析小白入門。

一、地圖的應用場景

地圖在數據分析中的應用非常廣泛,以下是一些常見的應用場景:

  • 銷售數據分析:展示不同地區的銷售額、市場份額等。
  • 人口統計:展示人口密度、年齡分布等。
  • 疫情監控:展示疫情在不同地區的傳播情況。
  • 物流管理:展示物流路徑、倉庫分布等。
  • 旅游數據分析:展示旅游熱點、游客來源等。

二、Pyecharts簡介

Pyecharts是一個基于Echarts的Python可視化庫,能夠輕松生成各種精美的圖表。Echarts是百度開源的一個數據可視化工具,支持多種圖表類型,包括折線圖、柱狀圖、餅圖、地圖等。Pyecharts使得在Python中使用Echarts變得非常簡單。

三、安裝Pyecharts

在開始之前,我們需要先安裝Pyecharts??梢酝ㄟ^以下命令安裝:

pip install pyecharts

此外,為了繪制地圖,我們還需要安裝一些地圖數據包:

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg

四、繪制地圖的基本步驟

1. 導入必要的庫

首先,我們需要導入Pyecharts中繪制地圖所需的模塊:

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

2. 準備數據

地圖數據通常是一個包含地區名稱和對應數值的列表。例如:

data = [("北京市", 100), ("上海市", 200), ("廣東省", 300), ("四川省", 400), ("陜西省", 500)]

3. 創建地圖對象

接下來,我們創建一個地圖對象,并設置地圖類型為“china”:

map_chart = Map()
map_chart.add("示例地圖", data, "china"
             ,zoom=1.5 # 設置縮放
             ,center=[100, 36] # 設置默認中心位置
             ,is_roam=False    # 禁用縮放 拖拽
             )
map_chart.render_notebook()

4. 設置全局配置

為了讓地圖更加美觀,我們可以設置一些全局配置,例如標題、視覺映射等:

map_chart.set_global_opts(
    title_opts=opts.TitleOpts(title="中國地圖示例"),
    visualmap_opts=opts.VisualMapOpts(max_=500)
)
map_chart.render_notebook()

5. 渲染地圖文件

最后,我們還可以將地圖渲染為HTML文件:

map_chart.render("china_map.html")

6. 查看地圖文件結果

運行上述代碼后,會在當前目錄下生成一個名為china_map.html的文件。打開這個文件,你就可以看到一個交互式的中國地圖,鼠標懸停在各個省份上時,會顯示對應的數值。

五、如何讓圖形更精美

為了讓地圖更加精美,我們可以從以下幾個方面進行優化:

1. 使用漸變顏色

通過設置visualmap_opts中的is_piecewise=True,我們可以使用分段顏色來展示數據:

map_chart.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, "max": 400, "label""301-400""color""#FF0000"},
            {"min": 401, "max": 500, "label""401-500""color""#8B0000"},
        ]
    )
)

2. 使用3D地圖

Pyecharts還支持3D地圖,可以通過Map3D圖表來啟用:

from pyecharts.charts import Map3D
example_data = [
    [[119.107078, 36.70925, 1000], [116.587245, 35.415393, 1000]],
    [[117.000923, 36.675807], [120.355173, 36.082982]],
    [[118.047648, 36.814939], [118.66471, 37.434564]],
    [[121.391382, 37.539297], [119.107078, 36.70925]],
    [[116.587245, 35.415393], [122.116394, 37.509691]],
    [[119.461208, 35.428588], [118.326443, 35.065282]],
    [[116.307428, 37.453968], [115.469381, 35.246531]],
]

(Map3D()
.add_schema(
    maptype="山東",
    itemstyle_opts=opts.ItemStyleOpts(
        color="rgb(5,101,123)",
        opacity=1,
        border_width=0.8,
        border_color="rgb(62,215,213)",
    ),
    light_opts=opts.Map3DLightOpts(
        main_color="#fff",
        main_intensity=1.2,
        is_main_shadow=False,
        main_alpha=55,
        main_beta=10,
        ambient_intensity=0.3,
    ),
    view_control_opts=opts.Map3DViewControlOpts(center=[-10, 0, 10]),
    post_effect_opts=opts.Map3DPostEffectOpts(is_enable=False),
)
.add(
    series_name="",
    data_pair=example_data,
    type_=ChartType.LINES3D,
    effect=opts.Lines3DEffectOpts(
        is_show=True,
        period=4,
        trail_width=3,
        trail_length=0.5,
        trail_color="#f00",
        trail_opacity=1,
    ),
    linestyle_opts=opts.LineStyleOpts(is_show=False, color="#fff", opacity=0),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Map3D-Lines3D"))
.render("map3d_with_lines3d.html")
)

3. 自定義地圖樣式

通過設置map_style,我們可以自定義地圖的樣式,例如背景顏色、邊界顏色等:

map_chart.set_series_opts(
    label_opts=opts.LabelOpts(is_show=False),
    itemstyle_opts=opts.ItemStyleOpts(color="blue", border_color="black",area_color="green")
)

數據可視化是數據分析師需要掌握的重要技能,也是CDA數據分析師一級的重要考點,如果你想實操一下自己的可視化技能。

六、總結

相信你已經掌握了如何使用Pyecharts繪制地圖的基本方法。地圖作為一種強大的數據可視化工具,能夠幫助我們更好地理解數據在地理空間上的分布情況。通過不斷優化地圖的樣式和交互效果,我們可以讓數據展示更加生動和直觀。

希望這篇文章能夠幫助你在數據分析的道路上更進一步!如果你有任何問題或建議,歡迎在評論區留言討論。

抓住機遇,狠狠提升自己

隨著各行各業進行數字化轉型,數據分析能力已經成了職場的剛需能力,這也是這兩年CDA數據分析師大火的原因。和領導提建議再說“我感覺”“我覺得”,自己都覺得心虛,如果說“數據分析發現……”,肯定更有說服力。想在職場精進一步還是要學習數據分析的,統計學、概率論、商業模型、SQL,Python還是要會一些,能讓你工作效率提升不少。備考CDA數據分析師的過程就是個自我提升的過程。

CDA 考試官方報名入口:https://www.cdaglobal.com/pinggu.html

推薦學習:https://edu.cda.cn/goods/show/3243?targetId=5333&preview=0

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢