绘制地图在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()