<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          手把手教你用Python+可視化工具制作漂亮地圖

          共 2062字,需瀏覽 5分鐘

           ·

          2020-10-26 01:45

          點(diǎn)擊上方數(shù)據(jù)管道”,選擇“置頂星標(biāo)”公眾號(hào)

          干貨福利,第一時(shí)間送達(dá)



          這次呢,我想講講地圖可視化的內(nèi)容,以前我也寫(xiě)過(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í)間的變化。




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


          第一步,打開(kāi)并預(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)緯度的方法很多,詳情可參考「三種方法!教你用Python分析經(jīng)緯度數(shù)據(jù)」。
           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開(kāi)發(fā)的進(jìn)行空間數(shù)據(jù)可視化的開(kāi)源工具,是Uber內(nèi)部進(jìn)行空間數(shù)據(jù)可視化的默認(rèn)工具,通過(guò)其面向Python開(kāi)放的接口包keplergl,我們可以在 jupyter notebook 中通過(guò)書(shū)寫(xiě)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è)鏡像

          打開(kāi)網(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)工具還要給力。



          數(shù)據(jù)集獲取

          地圖可視化數(shù)據(jù)集鏈接:

          https://pan.baidu.com/s/1PkDpl5d5YgxtFde81UWUDQ??密碼:qm78

          瀏覽 52
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亲子乱一区二区三区电影 | 五月丁香婷婷社区 | 免费性爱网址 | 大香蕉在线网亚洲欧洲中文字 | 性无码一区二区三区无码免费 |