class Frame(wx.Frame): def __init__(self): wx.Frame.__init__(self, parent=None, title="Colourmap Selection") self.figure = Figure(dpi=80, figsize=(2, 2)) self.canvas = Canvas(self, -1, self.figure) self.axes = self.figure.gca() x = y = numpy.linspace(-3, 3, 80) X, Y = numpy.meshgrid(x, y) V = numpy.sin(Y**2 + X**2) self.mapper = FigureImage(self.figure) im = self.axes.pcolor(x, y, V, shading='flat') try: cb = self.mapper.callbacksSM.connect('changed', ChangeCM(im)) except AttributeError: # Using 0.91 style self.mapper.add_observer(im) #self.figure.colorbar(self.mapper) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.canvas, 1, wx.EXPAND) self.SetSizer(sizer) self.canvas.Bind(wx.EVT_RIGHT_DOWN, self.OnContext) def OnContext(self, evt): popup = wx.Menu() item = popup.Append(wx.ID_ANY, '&Grid on/off', 'Toggle grid lines') wx.EVT_MENU(self, item.GetId(), self.OnGridToggle) cmapmenu = CMapMenu(self, callback=self.OnColormap, mapper=self.mapper, canvas=self.canvas) item = popup.AppendMenu(wx.ID_ANY, "Colourmaps", cmapmenu) self.PopupMenu(popup, evt.GetPositionTuple()) def OnColormap(self, name): print "Selected colormap", name def OnGridToggle(self, event): self.axes.grid() self.canvas.draw_idle()
class Frame(wx.Frame): def __init__(self): wx.Frame.__init__(self, parent=None, title="Colourmap Selection") self.figure = Figure(dpi=80, figsize=(2,2)) self.canvas = Canvas(self, -1, self.figure) self.axes = self.figure.gca() x = y = np.linspace(-3,3,80) X,Y = np.meshgrid(x,y) V = np.sin(Y**2+X**2) self.mapper = FigureImage(self.figure) im = self.axes.pcolor(x,y,V,shading='flat') try: cb = self.mapper.callbacksSM.connect('changed', ChangeCM(im)) except AttributeError: # Using 0.91 style self.mapper.add_observer(im) #self.figure.colorbar(self.mapper) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.canvas,1,wx.EXPAND) self.SetSizer(sizer) self.canvas.Bind(wx.EVT_RIGHT_DOWN, self.OnContext) def OnContext(self, evt): popup = wx.Menu() item = popup.Append(wx.ID_ANY,'&Grid on/off', 'Toggle grid lines') wx.EVT_MENU(self, item.GetId(), self.OnGridToggle) cmapmenu = CMapMenu(self, callback = self.OnColormap, mapper=self.mapper, canvas=self.canvas) item = popup.AppendMenu(wx.ID_ANY, "Colourmaps", cmapmenu) self.PopupMenu(popup, evt.GetPositionTuple()) def OnColormap(self, name): print "Selected colormap",name def OnGridToggle(self, event): self.axes.grid() self.canvas.draw()