10行Python代碼能做什麼?可視化地圖了解一下

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

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

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

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

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

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

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

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

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

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

喜歡這篇文章的話記得評論+轉發哦!這樣我會更加有分享的動力哦!

另外當然是要送上這篇文章的福利啦,私信回覆“01”可以獲得很多實用的Python乾貨哦!