溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何利用pyecharts繪制地理散點圖

發(fā)布時間:2022-03-07 11:56:02 來源:億速云 閱讀:186 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何利用pyecharts繪制地理散點圖,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1.背景

利用上海市7000+辦公樓項目,包括項目名稱,地理位置,每天的租金,建筑面積和項目所在的商圈,現(xiàn)在要讓這些項目按經(jīng)緯度落位到地圖上去,并且按顏色顯示租金的高低,之前比較多的事操作ArcGIS軟件來做,這一次,準(zhǔn)備試試pyecharts模塊,直接用python腳本生成。

如何利用pyecharts繪制地理散點圖

2.效果圖

效果圖大致如下:

如何利用pyecharts繪制地理散點圖

3.完整代碼

import pandas as pd #導(dǎo)入數(shù)據(jù)分析模塊
from pyecharts.charts import Geo #導(dǎo)入地理信息處理模塊
from pyecharts import options as opts  #配置
from pyecharts.render import make_snapshot #快照
from snapshot_selenium import snapshot 
from pyecharts.globals import ChartType, SymbolType #全局配置

data=pd.read_excel("D:\數(shù)有引力\魔都商圈\辦公項目.xlsx")  #讀取數(shù)據(jù)
geo_sight_coord={data['項目名稱'][i].strip(): [data['經(jīng)度'][i], data['緯度'][i]] for i in range(len(data))} #構(gòu)造位置字典數(shù)據(jù)
data_pair=[(data['項目名稱'][i].strip(), data['日租金'][i]) for i in range(len(data))] #構(gòu)造項目租金數(shù)據(jù)

g=Geo() #地理初始化
g.add_schema(maptype="上海") #限定上海市范圍
for key, value in geo_sight_coord.items(): #對地理點循環(huán)
    g.add_coordinate(key, value[0], value[1]) #追加點位置

g.add("", data_pair, symbol_size=2) #追加項目名稱和租金
g.set_series_opts(label_opts=opts.LabelOpts(is_show=False), type='scatter')  #星散點圖scatter

pieces = [
        {'max': 3, 'label': '<3', 'color': '#00B2EE'},
        {'min': 3, 'max': 6, '3~6': 'love', 'color': '#71C671'},
        {'min': 6, 'max': 10, '6~10': 'always', 'color': '#CD4F39'},
        {'min': 10,  'label': '10+', 'color': '#FF0000'} # 有下限無上限
         ]

g.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=True, pieces=pieces), title_opts=opts.TitleOpts(title="辦公項目分布")) #辦公項目分布圖

make_snapshot(snapshot, g.render("上海市辦公項目.html"), "上海市辦公項目.png") #渲染成html格式和png格式

4.代碼解讀

整個流程包括pandas讀取數(shù)據(jù)和處理,geo生成地圖和向地圖添加數(shù)據(jù),渲染地圖,這里主要介紹處理數(shù)據(jù)兩點

1,項目名稱,項目經(jīng)度,項目緯度三個字段構(gòu)成一個字典類型數(shù)據(jù)

geo_sight_coord={data['項目名稱'][i].strip(): [data['經(jīng)度'][i], data['緯度'][i]] for i in range(len(data))}

每個地理數(shù)據(jù)格式如下:

{"新橋大廈": 121.472534, 31.246122}

2,項目租金數(shù)據(jù)通過如下語句構(gòu)造成元組

data_pair=[(data['項目名稱'][i].strip(), data['日租金'][i]) for i in range(len(data))]

每個項目租金數(shù)據(jù)格式如下:

("新橋大廈": 4.3 )

看完了這篇文章,相信你對“如何利用pyecharts繪制地理散點圖”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI