set log or linear scale for x, y axis

def set_logscale(self, xscale='linear', yscale='linear',
                     delay_draw=False):
        "set log or linear scale for x, y axis"
        self.xscale = xscale
        self.yscale = yscale
        for axes in self.canvas.figure.get_axes():
            try:
                axes.set_yscale(yscale, basey=10)
            except:
                axes.set_yscale('linear')
            try:
                axes.set_xscale(xscale, basex=10)
            except:
                axes.set_xscale('linear')
        if not delay_draw:
            self.process_data()