有人說Python是青銅?我用50行Python代碼繪制3D機場分布圖
繪制一款的3D圖形,不僅可以直觀的展示數據分析的結果,也更方便數據化運營,同時也讓工作成果更容易被大眾理解。本文就基于python繪制一款基礎的3D地圖,用于直觀展示全國機場的分布情況,以及該機場出發的航班數量。
要點:
- 編程環境:anaconda下Spyder。
- 數據解釋:數據包含“航班里程、航班名稱、航空公司、出發機場、出機場緯度、出發機場經度、著陸機場、著陸機場緯度、著陸機場經度”共9列,15074行數據。
- 需要安裝的依賴庫有:pyecharts,pyecharts是百度開源的數據可視化產品,詳細內容可參見官方文檔(https://pyecharts.org/#/)。
01、實現過程
在本例中,首先結合pyechart庫的3D地圖有關函數,定義了一個map3d_with_bar3d()函數,主要用于將各個機場的航班數量,在3D地圖上展示。然后將“機場名稱、機場緯度、機場經度、機場的航班數”通過數據格式轉換,轉換為map3d_with_bar3d()函數接受的數據格式。
首先我們拿到一份機場的數據,如下所示:

里面有一些航班的信息,航空公司的名字,以及經緯度。然后我們利用pyecharts和pandas這個兩個Python庫,大概50行代碼就能畫出非常漂亮的3D機場圖。


最終,在3D中國地圖上,生成柱狀圖,可以直觀的觀察出全國的的機場分布情況,以及該機場出發的航班數量。運行上面的代碼到的3D柱狀圖如下:
02、換一個視角看一下

在3D柱狀圖中,我們將超過800個航班的機場,用藍色柱狀圖表示,在已知的數據中,只有北京的首都機場超過了800個航班。航班數量排名前十的機場包括:首都機場、江北機場、白云機場、長水機場、雙流機場、寶安機場、咸陽機場、浦東機場、蕭山機場、虹橋機場。
當然,想繪制有更多特效、更酷炫的3D圖形,可能需要其他專業人員的共同努力,有興趣的朋友可以繼續深入研究。