已經有了各省的數據,如何將信息以可視化的方式顯示在地圖上?順便問一下python有相關的第三方包沒?
其實有很多實現方式,python只是其中一種,下面我介紹一下我認為比較方便的:
1. Excel VBA註:以下兩個模板來自http://ExcelPro.blog.sohu.com(1)中國地圖分省填色下面是示意圖:使用方法在圖中也有介紹
下載地址:Excel模板-中國地圖填色圖(2)中國地圖精確到市填色 下載地址:中國數據地圖-到市級2. 百度的ECharts網址為: ECharts · Example
可以通過修改左邊的代碼實現個性化定製,我就不贅述了。數據怎麼導入你可以看網站說明,非常簡單的,並且ECharts還可以實現非常多種可視化的方法。算個神器吧。個人推薦第二種方法,別人把輪子造好我們拿來用就可以了。
數據地圖在工作中的應用越來越多,老闆、銷售、市場、運營等人員做數據分析時,經常會涉及到地理坐標、區域和地名與數據關聯的情形,如某品牌全國代理商的分布及銷售額分布情況(銷售)、某個APP在全國各個城市的註冊用戶分布情況(運營)等。既然數據地圖這麼重要,掌握它也能帶來很大的價值,那我就和大家聊聊數據地圖的那些事吧!
一、何為數據地圖?
1.概念
數據地圖用來分析和展示與地理位置相關的數據,以圖示化的展現形式來呈現信息,使得這種數據表達方式更為明確和直觀,讓人一目了然,方便我們挖掘深層信息,更好的輔助決策。
2.常見地圖類型
1)中國省份地圖
有面積圖、氣泡圖兩種展示形式,很明確展示各區域數據,只要你的業務數據涉及到祖國的各區域,你把企業各個省份的銷售額直接顯示在地圖上,也可以把企業各地的連鎖店數量直接統計並在地圖上標明,那省份地圖一定對你很適用。
最重要的,地圖有鑽取的功能,可以點擊鑽取了解到不同地域的數據,例如:地區-城市-區縣(福建省—福州市—鼓樓區),多層鑽取可以幫助你逐層查看更細粒度的下層數據,這樣是業務數據很了解,有問題也能第一時間找到觸發問題的區域。
1969~2014年中國境內恐怖襲擊發生地區(面積圖)
16年7月中國氣溫平均值高低分布(氣泡圖)
2)GIS地圖:
GIS地圖比省份地圖更加智能,根據你的經緯度數據可具體定位到某個地點,不局限於只展示省份、城市的數據,數據更加精細。另外,只要你有數據,BDP也可以展示國際地圖的,只是我手裡沒有國際數據,大家感興趣可以自己去做一張國際地圖,一定很酷炫。
- 熱力圖:這個比較常見,一般按由深到淺的顏色來表示數據的從大到小、集中到稀疏。
散點圖
- 點狀圖:單個地理坐標顯示為點,呈現點狀分布。
地圖圖表:在地圖上顯示餅圖、柱狀圖、條形圖,瞬間感覺自己的地圖好酷炫,好像一個個小精靈散落在祖國各大角落,地圖數據直觀且俏皮。
二、如何3步玩轉數據地圖
數據地圖的製作一般分為3個過程,即上傳數據—拖拽成圖——潤色完成,以BDP個人版為例,無需編程基礎、無需統計基礎,立馬搞定數據地圖。
- 上傳數據
在儀錶盤右上方點擊「添加圖表」,選擇需要的地圖數據(可選擇多個工作表數據哦)
- 拖拽成圖
先拖拽工作表至圖層,再拖拽經緯度、維度數值,然後選擇想要的地圖類型即可;
- 潤色完成
可設置顏色、尺寸,也可以對地圖進行放大縮小(滑鼠滑動也能放大縮小,不信可以試試),操作很簡單;做完的數據地圖也能通過鏈接分享給好友,也可以直接分享到各大社區,如朋友圈等。
比如做工作總結、方案解說時,做好的地圖可以在BDP中全屏展示,當然你也可以把數據地圖導出為PPT中進行展示,這一定會讓你的報告增色不少。
三、數據地圖有什麼用呢?
我先跟大家分享一個案例吧!
某電商的BOSS想了解購買的用戶主要分布於全國的哪些地方,成交額主要集中在哪裡?這時候一張地圖(熱力圖、散點圖等都ok)很直觀告訴他購買用戶主要集中在長三角和廣東、福建地區,但成交額主要集中在北京、廣東和福建,這個數據對他經營策略的幫助:首先競價推廣上,廣東、福建地區他一定要加大投放;其次,找出長三角(平均)購買用戶多但成交額不高的原因,他發現是因為長三角的用戶偏好某款低價商品從而拉低了成交額等,然後他調整了經營策略,滿滿的長三角用戶的成交額也逐漸提高了,畢竟長三角用戶有錢嘛,效果分分鐘的。
其實相似的場景案例特別多,通過發現KFC的發現特點來進行分店鋪選址、通過GIS地圖發現食道癌集中於廣東潮汕和河南林縣、通過城市各小區數據來對比進行購房、通過地圖了解各景點的人流情況來選擇合適的旅行地點和時間、通過地圖分布了解不同地區的飲食習慣選擇開什麼類型的店鋪等等。
這樣的案例很多,通過地圖的確可以很明確了解相關的區域情況,對經營決策、績效調整、生活引導等方面都起到很好的幫助。
matplotlib,安裝好以後還要安裝它的一個拓展應用basemap,100多M.官方文件 http://matplotlib.org/basemap/users/geography.html。效果圖如下
1.python:
1.1 basemap
- 基於matplotlib的basemap可以利用shp文件"Working with shapefiles"定製地圖
- 直接使用pip或conda安裝僅限於python2
- 利用conda-forge ,可以找到python3中的安裝方法
- basemap使用可以查看官方文檔Basemap tutorial,比較簡單。
1.2 交互地圖
- plotly-More Maps,可以使用內置地圖,中國地圖好像沒有,官網文檔沒有看到。
- bokeh-Mapping Geo Data,可以讀取geojson文件定製地圖,可以使用geopandas將shp文件轉換為geojson;支持谷歌地圖,定製程度高於plotly。
- geoplotlib,知友 @David 9 的博文中有提到 10個超實用的python可視化庫,總有一款適合你~,沒有使用過,下次可以嘗試下。
2.mapbox:
- 官網有很初級的教程可以學習,只需要註冊一個帳號,使用Mapbox Studio在線編輯地圖樣式
- 高級一些的功能,例如實現地圖交互,就要使用HTML相關的知識進行編程操作,有些HTML基礎就足夠,要求是能看懂基本的代碼,就可以在官網代碼結構基礎上做出適合的修正。
- 目前有mapbox中國,其中是一些JS的中文解釋,跟直接閱讀英文官方文檔相同。
3.國內的一些簡化產品,自行百度,很多。
-------------------------------------Ridge----------------------------------------
個人使用的感覺是如要要以HTML形式展示作品,可以使用mapbox更便捷;若要用作正經的論文用圖可以使用basemap,開源好用。
來張自己使用basemap做得圖,不喜勿噴~
mapbox作品,mapbox作品,僅有style,沒有交互部分。
地圖匯 http://www.dituhui.com/
推薦http://geohey.com,在線免費製圖。下圖是剛剛有用戶分享的可視化效果。
Arcgis,當然這工具比較專業,學起來不太容易。但這是地理信息專業必備工具,數據可視化的功能很強大,空間數據分析處理也很強大,僅僅是建議
使用數據觀http://www.shujuguan.cn/?from=zh10,只需要將數據導入,選擇「區域地圖」或者「散點地圖」,然後選擇相應欄位就可以了。目前數據觀可以支持顯示至市級行政區。
還可以使用熱力地圖,使用gis技術,顯示更多地理信息:
我想這篇文章也許可以幫到你:
10個超實用的python可視化庫,總有一款適合你~
最簡單的方式應該是使用tableau
arcmap可以試試
推薦閱讀:
※可以用 Python 來幹些什麼有趣的事?
※想要用 python 做爬蟲, 是使用 scrapy框架還是用 requests, bs4 等庫?
※Python 在 Linux 系統運維中都有哪些應用?
※Python 關於讀寫txt的問題?
※Python Shell 中敲擊方向鍵顯示「^[[C^[[D」,原因是什麼?如何修復?