<p id="m2nkj"><option id="m2nkj"><big id="m2nkj"></big></option></p>
    <strong id="m2nkj"></strong>
    <ruby id="m2nkj"></ruby>

    <var id="m2nkj"></var>
  • 用 Python+可視化工具制作漂亮地圖!

    共 2010字,需瀏覽 5分鐘

     ·

    2021-11-14 22:17

    這次呢,我想講講地圖可視化的內(nèi)容,以前我也寫過(guò)用Python的內(nèi)置庫(kù)繪制地圖,但總感覺(jué)不夠美觀。如何才能在短時(shí)間內(nèi)制作漂亮的可視化地圖呢,我覺(jué)得Python+可視化工具是不錯(cuò)的選擇。


    以下動(dòng)態(tài)可視化地圖就是J哥親手繪制,展現(xiàn)了一段時(shí)間內(nèi)廣州市企事業(yè)單位在網(wǎng)上商城采購(gòu)商品的分布及隨時(shí)間的變化。



    接下來(lái),J哥將手把手教你如何繪制這個(gè)動(dòng)態(tài)圖,您可在公眾號(hào)后臺(tái)回復(fù)「cc」獲取數(shù)據(jù)集進(jìn)行測(cè)試。


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


    第一步,打開并預(yù)覽一下數(shù)據(jù)集,共766條采購(gòu)記錄,包含采購(gòu)時(shí)間、采購(gòu)單位和采購(gòu)金額3個(gè)字段。
    1df?=?pd.read_excel('cc.xls',index=False)
    2df.head()


    第二步,根據(jù)采購(gòu)單位字段獲取經(jīng)緯度,批量獲取經(jīng)緯度的方法很多,詳情可以自行百度。
     1def?gaode(addr):
    2????????para?=?{
    3????????????'key':'你的',
    4????????????'address':addr
    5????????}
    6????????url?=?'https://restapi.amap.com/v3/geocode/geo?'
    7????????req?=?requests.get(url,para)
    8????????req?=?req.json()
    9????????print('-'?*?30)
    10????????if?req['status']=='1':
    11????????????if?len(req['geocodes'])?>?0:
    12????????????????m?=?req['geocodes'][0]['location']
    13????????????????print(m)
    14????????????else:
    15????????????????print("None")
    16????????????????m?=?""
    17????????else:
    18????????????print("None")
    19
    20????????return?m
    21gaode(addr="廣州")

    應(yīng)用以上函數(shù)并預(yù)覽數(shù)據(jù)

    1df['lat_lon']?=?df['buyer'].apply(gaode)
    2df.head()

    ???長(zhǎng)這樣:



    第三步,對(duì)經(jīng)緯度字段分列并存儲(chǔ)為csv格式。
    1df["lat"]?=?df["lat_lon"].str.split(',',expand=True)[1]?
    2df["lon"]?=?df["lat_lon"].str.split(',',expand=True)[0]?
    3df?=?df.drop('lat_lon',axis=1)
    4df.to_csv('cc.csv',index=False)

    簡(jiǎn)單三步數(shù)據(jù)準(zhǔn)備完畢,數(shù)據(jù)預(yù)覽如下


    數(shù)據(jù)可視化


    將以上數(shù)據(jù)可視化到地圖中的方法也有很多,比如Ecahrts、高德地圖可視化平臺(tái)、地圖無(wú)憂等,本次主要介紹kepler.gl

    kepler.gl是由Uber開發(fā)的進(jìn)行空間數(shù)據(jù)可視化的開源工具,是Uber內(nèi)部進(jìn)行空間數(shù)據(jù)可視化的默認(rèn)工具,通過(guò)其面向Python開放的接口包keplergl,我們可以在 jupyter notebook 中通過(guò)書寫Python代碼的方式傳入多種格式的數(shù)據(jù),在其嵌入notebook的交互窗口中使用其內(nèi)建的多種豐富的空間數(shù)據(jù)可視化功能。可以讓你不需要任何編程基礎(chǔ),即可實(shí)現(xiàn)數(shù)據(jù)地圖的可視化。Kepler.gl 支持的數(shù)據(jù)格式:CSV、GeoJson 和Json。

    一、Jupyter中可視化

    1.本地安裝

    pip?install?keplergl

    注:Windows用戶建議conda安裝,否則很可能報(bào)錯(cuò)。

    2.加載地圖和數(shù)據(jù)


    二、在線網(wǎng)站中可視化(推薦)

    當(dāng)然,你也可以直接在kepler官網(wǎng)上傳數(shù)據(jù)操作,但官網(wǎng)速度較慢,建議用如下網(wǎng)站操作:

    http://map.guihuayun.com/ #規(guī)劃云網(wǎng)站搭的一個(gè)鏡像

    打開網(wǎng)站后,首先將cc.csv數(shù)據(jù)集添加進(jìn)來(lái)。


    添加好數(shù)據(jù)后,可以根據(jù)自己的喜好進(jìn)行圖標(biāo)顏色、大小、地圖樣式等參數(shù)設(shè)置。

    1.圖標(biāo)設(shè)置




    2.地圖樣式更改


    3.添加城市輪廓

    城市輪廓數(shù)據(jù)可以在DATAV.GeoAtlas網(wǎng)站進(jìn)行獲取。


    4.上傳輪廓數(shù)據(jù)


    5.添加時(shí)間軸


    OK,大功告成!

    總結(jié)


    當(dāng)然,我們還可以利用同樣的數(shù)據(jù)集制作成熱力圖、3D地圖等。關(guān)鍵是,如此便捷實(shí)用又美觀的地圖可視化工具竟然免費(fèi)!感覺(jué)它比目前市面上很多付費(fèi)工具還要給力。



    點(diǎn)擊下方卡片進(jìn)行關(guān)注,獲取更多內(nèi)容
    點(diǎn)分享
    點(diǎn)收藏
    點(diǎn)點(diǎn)贊
    點(diǎn)在看
    瀏覽 80
    點(diǎn)贊
    評(píng)論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報(bào)
    評(píng)論
    圖片
    表情
    推薦
    點(diǎn)贊
    評(píng)論
    收藏
    分享

    手機(jī)掃一掃分享

    分享
    舉報(bào)
    <p id="m2nkj"><option id="m2nkj"><big id="m2nkj"></big></option></p>
    <strong id="m2nkj"></strong>
    <ruby id="m2nkj"></ruby>

    <var id="m2nkj"></var>
  • 麻豆人妻精品无码区 | 黄色片大女人吃大鸡巴老头子日大逼逼 | 久操AV中文字幕 | 欧美性生交XXXXX | 一级日本在线 | 午夜影院久久 | 97福利导航 | 在线无码视频观看 | 丁香五月婷婷五月 | 黄色a级三级毛片免费 |