繪製地圖在python中主要用到的 basemap 庫,這個庫是 matplotlib 庫中一個用於在 Python 中繪製地圖上的 2D 數據的工具包。python
首先安裝庫:工具
一、安裝 geos 庫:Python 的 basemap 庫是創建在 geos 中的,因此得先安裝 geos,cmd 命令下,定位到 pip 所在的文件夾,使用 pip 命令安裝。spa
pip install geos code
2.安裝 pyproj、basemap 庫:下載 pyproj 和 basemap 兩個包的 whl 文件,使用 pip 命令安裝 pyproj 和 basemap 庫。htm
whl 文件下載地址以下:blog
http://www.lfd.uci.edu/~gohlke/pythonlibs/ip
找出與python版本對應的whl 文件下載,而後再cmd中進入到whl 文件的目錄下進行pip安裝ci
pip install pyproj-1.9.6-cp35-cp35m-win_amd64.whl
pip install basemap-1.2.0-cp35-cp35m-win_amd64.whl
導入庫:cmd
import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap from matplotlib.patches import Polygon
建立黑白色世界平面圖:it
map = Basemap()#新建一張世界地圖 map.drawcoastlines()#畫出海岸線 plt.show()#打開窗口顯示運行結果
建立世界球形圖並給大地和湖泊加上顏色:
plt.figure(figsize=(10,7))#定義圖的大小 m = Basemap(projection='ortho',lat_0=0,lon_0=0)#建立世界地圖並增長投影 m.drawmapboundary(fill_color='aqua')#給地球塗上藍色 m.fillcontinents(color='coral',lake_color='aqua')#給大地和海洋塗上顏色 m.drawcoastlines()#畫海岸線 plt.show()
建立中國地圖:
下載 中國 China 和 臺灣 Taiwan 的 Shapefile 文件,注意還須要在Country的下拉框中選擇臺灣
網址以下:https://gadm.org/download_country_v3.htm
下載文件解壓後用 readshapefile 方法讀取下載的文件。
plt.figure(figsize=(16, 7)) # 定義圖的大小 m = Basemap(llcrnrlon=77, llcrnrlat=14, urcrnrlon=140, urcrnrlat=51, projection='lcc', lat_1=33, lat_2=45, lon_0=100) # 建立中國地圖 m.drawcountries(linewidth=1.5) # 畫出中國地圖 m.readshapefile(r'C:\PyProject\learn\小技巧\地圖\China\gadm36_CHN_1', 'states', drawbounds=True) m.readshapefile(r'C:\PyProject\learn\小技巧\地圖\TaiWan\gadm36_TWN_1', 'taiwan', drawbounds=True) m.drawmapboundary(fill_color='aqua') # 給地球塗上藍色 m.fillcontinents(color='coral', lake_color='aqua') # 給大陸和海洋分別塗上顏色 m.drawcoastlines() # 畫海岸線 # 給中國加上鮮豔顏色 ax = plt.gca() for nshape, seg in enumerate(m.states): poly = Polygon(seg, facecolor='r') ax.add_patch(poly) # 臺灣不要忘了 m.readshapefile('C:\PyProject\learn\小技巧\地圖\TaiWan\gadm36_TWN_1', 'taiwan', drawbounds=True) for nshape, seg in enumerate(m.taiwan): poly = Polygon(seg, facecolor='r') ax.add_patch(poly) plt.show()