干貨 | 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 命令小結

    cat /proc/meminfo 校驗內存使用 cat /proc/swaps 顯示哪些swap被使用 cat /proc/version 顯示內核的版本 cat /proc/net/dev 顯示網絡適配器及統計 cat /proc/mounts 顯示已加載的文件系統 lspci -tv 羅列 PCI 設備…

    Linux干貨 2017-06-18
  • 網絡班N22期第二周博客作業

    一、Linux常用文件管理命令及用法。  (1)、cat,由第一行開始顯示內容,并將所有內容輸出     用法:cat [OPTION]… [FILE]…      常用選項:     &nbsp…

    Linux干貨 2016-08-22
  • 如何加密/混亂C源代碼

    之前發表了《6個變態的C語言Hello World程序》[酷殼鏈接] [CSDN鏈接],主要是是像大家展示了一些C語言的變態玩法。也向大家展示了一下程序是可以寫得讓人看不懂的,在那篇文章中,可以看到很多人的留言,很多人都覺得很好玩,是的,那本來是用來供朋友們“消遣作樂”,供娛樂娛東而已,不必太過認真。 不過,通過這種極端的寫法,大家可以看到源代碼都可以寫得那…

    Linux干貨 2016-05-08
  • 第七周作業

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; ]#mke2fs -t ext4 -b 2048 -L MYDATA -m 2 O acl /dev/sda1 (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件…

    Linux干貨 2017-03-11
  • N26_第一周作業

    一、描述計算機的組成及其功能。 計算機系統:是由硬件(Hardware)系統和軟件(Software)系統兩大部分構成。 1、硬件系統: 1)控制器(Control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。2)運算器(Datapath):運算器的功能是…

    2017-02-20
  • Linux磁盤管理(一)

      磁盤,計算機最常見的存儲硬件設備。對Linux而言,其哲學思想之一就是一切皆文件,因此linux之上所有設備的操作都是通過文件接口來實現的,也就是說在訪問設備的時候就如同訪問一個文件一樣,因為他們使用的都是文件系統接口。 向磁盤中寫入數據的操作過程:   首先硬件設備在系統上會映射成一個一個文件,我們在對硬件中寫入數據就相當…

    Linux干貨 2016-08-30

評論列表(1條)

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

    這個技術真心很牛啊

欧美性久久久久