def OnBar(self,event): """ Plot bars """ setplot.set_default_params(self.axes, self.figure) X = self.data.grid_data.GetArrayData() rows,cols = X.shape # Reference: http://matthiaseisen.com/pp/patterns/p0178/ # # Space between bars groups (FACTOR) KB = 0.85 # Counter k = 0 # For each row for jj in range(rows): kw = 1.0/(cols+1.5) # bar width x = np.linspace(k, k+KB, cols, endpoint=False) self.axes.bar(x, X[jj,:], width=kw, color=BAR_COLOR_CYCLE) k += 1 # For ticks STEP = 1.0 INITIAL_TICK = KB/2.0 # Medium point END_TICK = rows _xticks = np.arange(INITIAL_TICK, END_TICK, STEP) self.axes.set_xticks(_xticks) # For xticklabels _tick_labels = range(1, rows+1) self.axes.set_xticklabels(_tick_labels) # Change xticklabels using "X-Ticks" icon (AxesToolbar) # Redraw self.canvas.draw()
def OnScatter(self,event): setplot.set_default_params(self.axes,self.figure) X = self.data.grid_data.GetArrayData() rows,cols = X.shape if cols == 2: # Common case self.axes.plot(X[:,0], X[:,1], "o", color="#348ABD") elif cols == 1: # one column self.axes.plot(X[:,0], "o", color="#348ABD") self.canvas.draw()
def initCanvas(self): # Creating Figure & Axes self.figure = Figure() self.axes = self.figure.add_subplot(111) self.canvas = FigureCanvas(self, -1, self.figure) self.EVT_ON_RIGHT = self.canvas.mpl_connect('button_press_event', self.OnRightClick) # Graph properties setplot.set_default_params(self.axes,self.figure) # FigureCanvas self.mainsz.Add(self.canvas, 1, wx.EXPAND|wx.ALL, 1)
def initCanvas(self): # Creating Figure & Axes self.figure = Figure() self.axes = self.figure.add_subplot(111) self.canvas = FigureCanvas(self, -1, self.figure) # Initial events self.EVT_ON_RIGHT = self.canvas.mpl_connect('button_press_event', self.OnRightClick) self.EVT_ON_SCROLL = self.canvas.mpl_connect('scroll_event', self.OnScroll) # Graph properties setplot.set_default_params(self.axes,self.figure) # FigureCanvas self.mainsz.Add(self.canvas, 1, wx.EXPAND|wx.ALL, 1)
def OnPie(self,event): setplot.set_default_params(self.axes,self.figure) X = self.data.grid_data.GetArrayData() rows,cols = X.shape n = float(rows) from matplotlib import cm a=np.random.random(n) colors=cm.Set1(np.arange(n)/n) if cols == 1: _ , self.pie_labels = self.axes.pie(X[:,0], labels=X[:,0], colors=colors) self.axes.set_aspect("equal") else: pass # nothing to do here self.canvas.draw()
def OnPlot(self,event): """ Line plot """ setplot.set_default_params(self.axes,self.figure) busy_dlg = aux.BusyInfo("Wait a moment...", self) X = self.data.grid_data.GetArrayData() rows,cols = X.shape if cols == 2: # Common case self.axes.plot(X[:,0],X[:,1], picker=True) elif cols == 1: self.axes.plot(X[:,0], picker=True) elif cols > 2: for col in range(cols): #clabel = self.data.grid_data.GetColLabelValue(col) self.axes.plot(X[:,col], picker=True) self.canvas.draw() del busy_dlg
def OnContourf(self,event): setplot.set_default_params(self.axes,self.figure) X = self.data.grid_data.GetArrayData() rows,cols = X.shape self.axes.contourf(X) self.canvas.draw()
def OnImage(self,event): setplot.set_default_params(self.axes,self.figure) X = self.data.grid_data.GetArrayData() rows,cols = X.shape self.axes.imshow(X, cmap=cm.gray) self.canvas.draw()