我设置了两个面板 wxPython GUI。在我的右侧面板中,我有一个使用 Basemap 的地图显示。在这张(美国的)底图上,我绘制了不同城市的散点图。我希望能够单击这些点并在我的 GUI 中有一个弹出窗口,提供与我选择的那个点相关的一些信息(例如城市、纬度/经度等——我会存储所有这些信息以列表或其他方式)。
我遇到了 AnnoteFinder,但这似乎在我的 GUI 中不起作用(如果我使用 itelf 的 Basemap 而不是在我的 2 面板 GUI 中,它将起作用)。此外,这只是将一些文本放在点的顶部——我宁愿显示一个小窗口。
到目前为止我的代码示例:
#Setting up Map Figure
self.figure = Figure(None,dpi=75)
self.canvas = FigureCanvas(self.PlotPanel, -1, self.figure)
self.axes = self.figure.add_axes([0,0,1,1],frameon=False)
self.SetColor( (255,255,255) )
#Basemap Setup
self.map = Basemap(llcrnrlon=-119, llcrnrlat=22, urcrnrlon=-64,
urcrnrlat=49, projection='lcc', lat_1=33, lat_2=45,
lon_0=-95, resolution='h', area_thresh=10000,ax=self.axes)
self.map.drawcoastlines()
self.map.drawcountries()
self.map.drawstates()
self.figure.canvas.draw()
#Set up Scatter Plot
m = Basemap(llcrnrlon=-119, llcrnrlat=22, urcrnrlon=-64,
urcrnrlat=49, projection='lcc', lat_1=33, lat_2=45,
lon_0=-95, resolution='h', area_thresh=10000,ax=self.axes)
x,y=m(Long,Lat)
#Scatter Plot (they plot the same thing)
self.map.plot(x,y,'ro')
self.map.scatter(x,y,90)
self.figure.canvas.draw()
有什么想法吗?