matplotlib basemap 绘制多边形区域曲线

1.简介

这里写图片描述
在平常的python使用中,有些时候需要基于gis的地理数据绘制相关的数据图形,如上图所示,python中的matplotlib绘图包当然能够胜任这个工作,但实际操作中国确实有很多细节需要注意。


2.运行环境

  • python 3.5 :笔者使用python3.x,当然2.7也是一样可以的
  • matplotlib 1.5.3
  • Basemap 1.1.0:basemap的安装包比较大,快捷安装可以参考笔者的另一篇博客文章
  • pyshp 1.2.12:python中处理shapefile的包,程序中需要读入基于shapefile的gis地理数据作为地形边界
  • json 2.5.1(可选):json包用于读取数据文件,读者可以根据自己的数据类型选取相应的数据处理包
  • numpy 1.11.1:python中用的相当多的包,对数组的封装堪称完美
  • shapely 1.6.0:python中专门处理多边形的包,程序中用于判断数据点是否在指定区域内

3.代码流程

首先来分析下绘图的整体思路,我们所有的图形操作都是在Basemap上的操作,其余的包和数据都是辅助。步骤是先绘制指定方形区域的数据图,然后在将指定多边形区域外的内容去掉。

  1. 导入相关包
import numpy as np
from mpl_toolkits.basemap import Basemap
from matplotlib.path import Path
from matplotlib.patches import PathPatch
import matplotlib.pyplot as plt
import shapefile as sf
from matplotlib.mlab import griddata
import json
from shapely.geometry import Polygon as ShapelyPolygon
from shapely.geometry 
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值