Hello,

I was wondering if the following behavior is a bug of LogLocator class or just a known limitation:
(mpl 1.3.1)

Input:

   plt_scale = 'log'
   #plt_scale = 'linear'

   fig, (ax1) = plt.subplots(1, 1)

   ax1.set(yscale=plt_scale)

   # works for linear scale, not for log:
   ax1.axes.locator_params('y', nbins=5)



Result:

   AttributeError                            Traceback (most recent
   call last)
   <ipython-input-74-3492af5f93c8> in <module>()
          7
          8 # works for linear scale, not for log:
   ----> 9 ax1.axes.locator_params('y', nbins=5)

   /home/pierre/anaconda/lib/python2.7/site-packages/matplotlib/axes.pyc in
   locator_params(self, axis, tight, **kwargs)
       2305 self.xaxis.get_major_locator().set_params(**kwargs)
       2306         if _y:
   -> 2307 self.yaxis.get_major_locator().set_params(**kwargs)
       2308         self.autoscale_view(tight=tight, scalex=_x, scaley=_y)
       2309

   AttributeError: 'LogLocator' object has no attribute 'set_params'


What I get from the traceback is that `locator_params` method forwards the locator attributes (in my case `nbins`) to the actual locator object via its `set_params` method. And this method is missing from LogLocator So my question is: shouldn't all Locator subclasses have a `set_params` method ?

best,
Pierre

(set_params is indeed defined in MaxNLocatorhttps://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/ticker.py#L1297)
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to