當前位置:
首頁 > 知識 > 用 Python 繪製中國地圖(下)

用 Python 繪製中國地圖(下)

作者:張京

來源:https://segmentfault.com/a/1190000010900212

在上一篇文章《用Python畫一個中國地圖》中,我們簡單描述了一下如何用 快速畫出一個中國地圖的輪廓,似乎沒有什麼實用價值,這一次我們用實際數據填充它,使它看上去更有意義。


上色

延續上一次的代碼,我們這次還是只增加 行代碼:

在展示結果之前,稍微解釋一下。第 行 ,函數名看上去很詭異,是因為 里大量使用了縮寫,這個 就是 的縮寫,實際上就是要獲得當前圖形的座標軸。然後我們開始一個循環,把圖形文件中各個省的多邊形取出來,給它一個顏色,在這裡我們統一放上紅色,也就是 的縮寫 ,然後把這個多邊形放在我們圖形的座標軸上,然後就得到了下圖:

糟糕,怎麼能少了台灣呢?在此鄭重聲明:台灣是中華人民共和國不可分割的領土!加入台灣的 文件,然後循環一下:

好了,這下祖國山河一片紅,看上去正確多了。

接下來,你還可以把各個省的名字打出來看一下,具體代碼就不解釋了:

結果如下:

數據

接下來我們去國家統計局搞點 數據 ,第六次全國人口普查數據可以直接下載 文件,略作修改,導出成 文件,用我們上一課講的方法,一句話讀取進來:

直接輸出,大概是下面這個樣子:


渲染

好了,數據也有了,我們終於要開始做一些激動人心的事情了。我們希望根據各省人口的多少用深淺不同的顏色為各個省份染色,那麼首先第一步,我們需要選擇一個調色板,也就是色彩映射表 ,為此, 為你準備了 數不勝數的選擇 ,我們隨便選擇一款國旗色紅黃色調的吧:

然後我們把每個省的數據映射到 上:

最後,我們把各個省的顏色描在地圖上:

噠噠,我們的全國人口數量熱力圖就完成了!可以看到河南、四川、廣東、山東幾個省的顏色比較深,說明這幾個省的人口總數最多,而西藏顏色最淺,代表這裡的人口總數最少。

這裡只是簡單地舉了一個例子,你還可以把各省的人口總數除以面積,得到人口密度數據,你還可以把各省的經濟總量畫在圖上,總之,有了這個入門的方法,一切就都簡單了呢。

最後,附上完整的代碼供大家參考。

題圖:pexels,CC0 授權。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 編程派 的精彩文章:

快手短視頻爬取經驗分享

TAG:編程派 |