python學(xué)習(xí)教程 | 10 行 Python 代碼創(chuàng)建可視化地圖


當(dāng)我開始建造Vincent時(shí), 我的一個(gè)目的就是使得地圖的建造盡可能合理化. 有一些很棒的Python地圖庫-參見Basemap 和 Kartograph能讓地圖更有意思. 我強(qiáng)烈推薦這兩個(gè)工具, 因?yàn)樗麄兌己芎糜枚液軓?qiáng)大. 我想有更簡單一些的工具,能依靠Vega的力量并且允許簡單的語法點(diǎn)到geoJSON文件,詳細(xì)描述一個(gè)投影和大小/比列,最后輸出地圖.
例如, 將地圖數(shù)據(jù)分層來建立更復(fù)雜的地圖:


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


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

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

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

現(xiàn)在,我們可以快速生成不同的等值線:


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


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


地圖即是我的激情所在——我希望 Vincent 能夠更強(qiáng),包含輕松的添加點(diǎn)、標(biāo)記及其它的能力。
作者:開源中國
來源:http://www.oschina.net/translate/Python-maps-chloropleth?cmp
————廣告時(shí)間————
馬哥教育2017年P(guān)ython自動(dòng)化運(yùn)維開發(fā)實(shí)戰(zhàn)班,馬哥聯(lián)合BAT、豆瓣等一線互聯(lián)網(wǎng)Python開發(fā)達(dá)人,根據(jù)目前企業(yè)需求的Python開發(fā)人才進(jìn)行了深度定制,加入了大量一線互聯(lián)網(wǎng)公司:大眾點(diǎn)評、餓了么、騰訊等生產(chǎn)環(huán)境真是項(xiàng)目,課程由淺入深,從Python基礎(chǔ)到Python高級,讓你融匯貫通Python基礎(chǔ)理論,手把手教學(xué)讓你具備Python自動(dòng)化開發(fā)需要的前端界面開發(fā)、Web框架、大監(jiān)控系統(tǒng)、CMDB系統(tǒng)、認(rèn)證堡壘機(jī)、自動(dòng)化流程平臺六大實(shí)戰(zhàn)能力,讓你從0開始蛻變成Hold住年薪20萬的Python自動(dòng)化開發(fā)人才。
掃描二維碼和更多小伙伴組團(tuán)學(xué)習(xí)

