我在matplotlib底图中有一张地图,我使用shapefile绘制一个国家的省份。
我还有一个具有特定值的点列表。它可能是一个熊猫数据帧,或者像这样的列表列表:
[[32.1232,51.0223,80],[31.24972,51.2497,65],[32.2921,50.242,44],[32.20938,51.6069,67],[31.2480,52.2498,55]]
我希望根据形状内所有点的平均值对每个省进行着色。
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
m = Basemap(projection='merc',llcrnrlat=15,urcrnrlat=55,llcrnrlon=70,urcrnrlon=140,lat_ts=20,resolution='c')
shapefile='C:/Users/...CHN_adm_shp/CHN_adm2'
shp = m.readshapefile(shapefile, 'states', drawbounds=True)
for nshape, seg in enumerate(m.states):
poly = Polygon(seg, facecolor='0.75', edgecolor='k')
ax.add_patch(poly)
plt.show()
到目前为止,我面临的最大障碍是找出一个点是否在一个形状内。怎么办呢?