我有一个双面板wxPython GUI设置。在我的右侧面板中,我使用底图来显示地图。在这幅(美国的)底图上,绘制了不同城市的散点图。我希望能够点击这些点,并在我的GUI中弹出一个窗口,提供一些与我选择的点有关的信息(例如City,lat/long等) - 我将存储所有这些信息以列表或其他方式)。在wxPython中弹出matplotlib上的注释
我遇到过AnnoteFinder,但是这似乎并没有在我的GUI中工作(如果我使用底图而不是在我的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()
有什么想法?
你可以协助其他代码的最后四行,以及我将如何工作到我的代码上面?我似乎无法弄清楚。谢谢! – mcfly
看到我编辑的答案。 – BrenBarn
太棒了!我得到了这个工作。但是,有没有办法让注释成为给定的x,y之外的东西?例如,对于每个(x,y)散点,我都有一个相关的“城市名称”,我宁愿显示比(x,y)值。我看到它从哪里得到self.x和self.y,我添加self.z?有什么合适的方法来解决这个问题?谢谢! – mcfly