在使用matplotlib绘制图形时,有时会遇到确定某个点的坐标是否在某个多边形范围内的问题。
在这里就会使用到matplotlib.path了
#!/usr/bin/python3
# -*- coding:utf-8 -*-
from matplotlib.path import Path
# 设定四个点来限定一个四边形的界限
p = Path([(0, 0), (0, 1), (1, 1), (1, 0)])
p.contains_points([(0.1, 0.1)])
这里其实是用(0, 0), (0, 1), (1, 1), (1, 0)四个顶点限定了一个四边形,然后查看新点(0.1,, 0.1)是否在这四个点所围成的矩形内。
在交内互模式下运行上面的代码,得到的结果为:array([ True]),说明点(0.1, 0.1) 在这个矩形内。
看到array自然想到数组,这里可以使用numpy.array进行点的传入,但是需要注意,一定要加上reshape(n, 2),既输入的数组一定是n行2列的。