我想创建一个函数,当您鼠标单击地图中的点时,返回 x,y 值
lonGrid, latGrid = np.meshgrid(self.lonBathymetry[lon_inds[0 [0:-1:stepLon]], self.latBathymetry[lat_inds[0][0:-1:stepLat]])
bathymetry = self.gb.variables['elevation'][ lat_inds[0][0:-1:stepLat] , lon_inds[0][0:-1:stepLon]]
self.m = Basemap(ax=self.axes, projection='cyl',llcrnrlat=lat_min,urcrnrlat=lat_max,
llcrnrlon=lon_min,urcrnrlon=lon_max,resolution=res)
xi, yi =self.m(lonGrid, latGrid)
def mousePressEvent(self, event):
lonGrid= self.canvas.lonGrid
latGrid= self.canvas.latGrid
x = event.latGrid()
y = event.lonGrid()
如果这是一个 matplotlib 画布,坐标应该在event.x
和event.y
中可用。
来源: https://matplotlib.org/3.1.1/users/event_handling.html