干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

當我開始建造Vincent時, 我的一個目的就是使得地圖的建造盡可能合理化. 有一些很棒的python地圖庫-參見Basemap?和?Kartograph能讓地圖更有意思. 我強烈推薦這兩個工具, 因為他們都很好用而且很強大. 我想有更簡單一些的工具,能依靠Vega的力量并且允許簡單的語法點到geoJSON文件,詳細描述一個投影和大小/比列,最后輸出地圖.

例如, 將地圖數據分層來建立更復雜的地圖:

干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

加之,等值線地圖需綁定Pandas數據,需要數據列直接映射到地圖要素.假設有一個從geoJSON到列數據的1:1映射,它的語法是非常簡單的:

干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

我們的數據并非沒有爭議無需改造——用戶需要確保 geoJSON 鍵與熊貓數據框架之間具有1:1的映射。下面就是之前實例所需的簡明的數據框架映射:我們的國家信息是一個列有FIPS?碼、國家名稱、以及經濟信息(列名省略)的 CSV 文件:

干貨 | 20 行 Python 代碼創建可視化地圖

在 geoJSON 中,我們的國家形狀是以 FIPS 碼為id 的(感謝 fork 自?Trifacta?的相關信息)。為了簡便,實際形狀已經做了簡略,在示例數據可以找到完整的數據集:

干貨 | 20 行 Python 代碼創建可視化地圖

我們需要匹配 FIPS 碼,確保匹配正確,否則 Vega 無法正確的壓縮數據:

干貨 | 20 行 Python 代碼創建可視化地圖

現在,我們可以快速生成不同的等值線:

干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

這只能告訴我們 LA 和 King 面積非常大,人口非常稠密。讓我們再看看中等家庭收入:

干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

明顯很多高收入區域在東海岸或是其他高密度區域。我敢打賭,在城市層級這將更加有趣,但這需要等以后發布的版本。讓我們快速重置地圖,再看看國家失業率:

干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

地圖即是我的激情所在——我希望 Vincent 能夠更強,包含輕松的添加點、標記及其它的能力。

作者:開源中國

來源:http://www.oschina.net/translate/python-maps-chloropleth?cmp



————廣告時間————

馬哥教育2017年Python自動化運維開發實戰班,馬哥聯合BAT、豆瓣等一線互聯網Python開發達人,根據目前企業需求的Python開發人才進行了深度定制,加入了大量一線互聯網公司:大眾點評、餓了么、騰訊等生產環境真是項目,課程由淺入深,從Python基礎到Python高級,讓你融匯貫通Python基礎理論,手把手教學讓你具備Python自動化開發需要的前端界面開發、Web框架、大監控系統、CMDB系統、認證堡壘機、自動化流程平臺六大實戰能力,讓你從0開始蛻變成Hold住年薪20萬的Python自動化開發人才。

干貨 | 20 行 Python 代碼創建可視化地圖干貨 | 20 行 Python 代碼創建可視化地圖掃描二維碼和更多小伙伴組團學習干貨 | 20 行 Python 代碼創建可視化地圖干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

干貨 | 20 行 Python 代碼創建可視化地圖

原創文章,作者:h,如若轉載,請注明出處:http://www.www58058.com/86470

(1)
hh
上一篇 2017-09-08 15:13
下一篇 2017-09-08 17:30

相關推薦

  • Linux用戶和組的配置相關文件

    Linux用戶和組的配置相關文件     在linux下,用戶的相關配置文件一般是放在/etc目錄下,此文主要對以下幾個配置文件作介紹:/etc/passwd;/etc/shadow;/etc/group;/etc/gpasswd   一、/etc/passwd:此目錄下放的是用戶的屬性信息,包括組名、UID、GID等,它格式固…

    Linux干貨 2016-10-30
  • DNS服務和搭建

    DNS服務:        名字解析        DNS 服務        實現主從服務器        實現子域        實現view  …

    2017-04-16
  • 馬哥教育網絡班22期+第四周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -rf /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&…

    Linux干貨 2016-09-19
  • 馬哥教育網絡班21期-第四周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 cp -a /etc/skel/ /home/tuser1 chmod -R 700 /home/tuser1/  2、編輯/etc/group文件,添加組hadoop。 echo "hadoop:x:2…

    Linux干貨 2016-08-05
  • Linux 第三天: (07月26日) Linux使用幫助

    Linux 第三天: (07月26日) Linux使用幫助         whatis 顯示命令的簡短描述makewhatis centos6 制作數據庫mandb centos7 制作數據庫 help COMMAND 內部命令man bash 內部命令COMMAND –help -h 外部命令man C…

    Linux干貨 2016-08-08
  • M22 使用NFS實現web共享發布

    實驗目的: 搭建兩個LAMP web發布系統搭建WordPress博客網站,并使用NFS作為共享的網絡文件系統使這兩個web服務器發布的內容一致。 實驗工具: webServer1 Centos6.8 172.18.55.6 webServer2 Centos7.3 172.18.55.7 nfsServer Centos7.3 172.18.55.71 w…

    2017-04-26

評論列表(1條)

  • 阿張
    阿張 2017-09-09 08:42

    這個技術真心很牛啊

欧美性久久久久