@@ -260,12 +260,20 @@ def __init__(self, nbins = 10, steps = None,
260260 trim = trim , integer = integer ,
261261 symmetric = symmetric , prune = prune )
262262 self .create_dummy_axis ()
263-
263+ self . _factor = None
264264
265265 def __call__ (self , v1 , v2 ):
266- self .set_bounds (v1 , v2 )
267- locs = mticker .MaxNLocator .__call__ (self )
268- return np .array (locs ), len (locs ), None
266+ if self ._factor is not None :
267+ self .set_bounds (v1 * self ._factor , v2 * self ._factor )
268+ locs = mticker .MaxNLocator .__call__ (self )
269+ return np .array (locs ), len (locs ), self ._factor
270+ else :
271+ self .set_bounds (v1 , v2 )
272+ locs = mticker .MaxNLocator .__call__ (self )
273+ return np .array (locs ), len (locs ), None
274+
275+ def set_factor (self , f ):
276+ self ._factor = f
269277
270278
271279class FixedLocator (object ):
@@ -287,11 +295,14 @@ class FormatterPrettyPrint(object):
287295 def __init__ (self ):
288296 self ._fmt = mticker .ScalarFormatter ()
289297 self ._fmt .create_dummy_axis ()
298+ self ._ignore_factor = True
290299
291300 def __call__ (self , direction , factor , values ):
292- if factor is None :
293- factor = 1.
294- values = [v / factor for v in values ]
301+ if not self ._ignore_factor :
302+ if factor is None :
303+ factor = 1.
304+ values = [v / factor for v in values ]
305+ #values = [v for v in values]
295306 self ._fmt .set_locs (values )
296307 return [self ._fmt (v ) for v in values ]
297308
0 commit comments