def logspace(self,bins=None,units=None,conversion_function=convert_time,resolution=None,end_at_end=True):
        """ bins overwrites resolution """
        if type(bins) in [list, np.ndarray]:
            return bins
        min = conversion_function(self.min,from_units=self.units,to_units=units)
        max = conversion_function(self.max,from_units=self.units,to_units=units)
        if units is None:
            units = self.units
        if resolution is None:
            resolution = 1.0
        if bins is None:
            bins = self.len(resolution=resolution,units=units,conversion_function=conversion_function)# + 1
        if units != '1' and end_at_end:
            # continuous variable behaviour:
            #   we end with the last valid value at the outer edge
            return np.logspace(np.log10(min),np.log10(max),bins+1)[:-1]
        # discrete variable behaviour:
        #   we end with the last valid value as its own bin
        return np.logspace(np.log10(min),np.log10(max),bins)
def logspace ( self , bins = None , units = None , conversion_function = convert_time , resolution = None , end_at_end = True ) : if type ( bins ) in [ list , np . ndarray ] : return bins min = conversion_function ( self . min , from_units = self . units , to_units = units ) max = conversion_function ( self . max , from_units = self . units , to_units = units ) if units is None : units = self . units if resolution is None : resolution = 1.0 if bins is None : bins = self . len ( resolution = resolution , units = units , conversion_function = conversion_function ) if units != '1' and end_at_end : return np . logspace ( np . log10 ( min ) , np . log10 ( max ) , bins + 1 ) [ : - 1 ] return np . logspace ( np . log10 ( min ) , np . log10 ( max ) , bins )
bins overwrites resolution