def _set_offset(self, range): # offset of 20,001 is 20,000, for example locs = self.locs if locs is None or not len(locs): self.offset = 0 ave_loc = mean(locs) if ave_loc: # dont want to take log10(0) ave_oom = math.floor(math.log10(mean(absolute(locs)))) range_oom = math.floor(math.log10(range)) if absolute(ave_oom-range_oom) >= 3: # four sig-figs if ave_loc < 0: self.offset = math.ceil(amax(locs)/10**range_oom)*10**range_oom else: self.offset = math.floor(amin(locs)/10**(range_oom))*10**(range_oom) else: self.offset = 0
from matplotlib.transforms import Bbox, Value, Point, \ get_bbox_transform, unit_bbox # load the data t = arange(0.0, 2.0, 0.01) s1 = sin(2 * pi * t) s2 = exp(-t) s3 = sin(2 * pi * t) * exp(-t) s4 = sin(2 * pi * t) * cos(4 * pi * t) s5 = s1 * s2 s6 = s1 - s4 s7 = s3 * s4 - s1 signals = s1, s2, s3, s4, s5, s6, s7 for sig in signals: sig = sig - mean(sig) lineprops = dict(linewidth=1, color='black', linestyle='-') fig = figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # The normal matplotlib transformation is the view lim bounding box # (ax.viewLim) to the axes bounding box (ax.bbox). Where are going to # define a new transform by defining a new input bounding box. See the # matplotlib.transforms module helkp for more information on # transforms # This bounding reuses the x data of the viewLim for the xscale -10 to # 10 on the y scale. -10 to 10 means that a signal with a min/max # amplitude of 10 will span the entire vertical extent of the axes scale = 10
from matplotlib.transforms import Bbox, Value, Point, \ get_bbox_transform, unit_bbox # load the data t = arange(0.0, 2.0, 0.01) s1 = sin(2*pi*t) s2 = exp(-t) s3 = sin(2*pi*t)*exp(-t) s4 = sin(2*pi*t)*cos(4*pi*t) s5 = s1*s2 s6 = s1-s4 s7 = s3*s4-s1 signals = s1, s2, s3, s4, s5, s6, s7 for sig in signals: sig = sig-mean(sig) lineprops = dict(linewidth=1, color='black', linestyle='-') fig = figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # The normal matplotlib transformation is the view lim bounding box # (ax.viewLim) to the axes bounding box (ax.bbox). Where are going to # define a new transform by defining a new input bounding box. See the # matplotlib.transforms module helkp for more information on # transforms # This bounding reuses the x data of the viewLim for the xscale -10 to # 10 on the y scale. -10 to 10 means that a signal with a min/max # amplitude of 10 will span the entire vertical extent of the axes scale = 10