log plots do not work when using base 2

I've written a python gui to matplotlib which allows the user to plot either cartesian, semi-log, or log-log plots. Log plots can be generated for typical base values except for base 2. Is this a bug, or is there some reason that matplotlib does not do log plots using base 2?

Using base 2, the log-log plot error is:

------ begin snippet -----
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\python251_102507\lib\lib-tk\Tkinter.py", line 1403, in __call__
    return self.func(*args)
  File "C:\python251_102507\lib\site-packages\matplotlib\backends\backend_tkagg.
py", line 211, in resize
    self.show()
  File "C:\python251_102507\lib\site-packages\matplotlib\backends\backend_tkagg.
py", line 214, in draw
    FigureCanvasAgg.draw(self)
  File "C:\python251_102507\lib\site-packages\matplotlib\backends\backend_agg.py
", line 261, in draw
    self.figure.draw(self.renderer)
  File "C:\python251_102507\lib\site-packages\matplotlib\figure.py", line 759, i
n draw
    for a in self.axes: a.draw(renderer)
  File "C:\python251_102507\lib\site-packages\matplotlib\axes.py", line 1523, in
draw
    a.draw(renderer)
  File "C:\python251_102507\lib\site-packages\matplotlib\axis.py", line 712, in
draw
    for tick, loc, label in self.iter_ticks():
  File "C:\python251_102507\lib\site-packages\matplotlib\axis.py", line 659, in
iter_ticks
    minorLocs = self.minor.locator()
  File "C:\python251_102507\lib\site-packages\matplotlib\ticker.py", line 1026,
in __call__
    if len(subs) > 1 or subs[0] != 1.0:
IndexError: index out of bounds

----- end snippet -----

I'm not able to reproduce this problem here. Can you provide a standalone script that illustrates it? Also, what version of matplotlib are you using?

Mike

Barnette, Daniel W wrote:

···

I've written a python gui to matplotlib which allows the user to plot either cartesian, semi-log, or log-log plots. Log plots can be generated for typical base values except for base 2. Is this a bug, or is there some reason that matplotlib does not do log plots using base 2?

Using base 2, the log-log plot error is:

------ begin snippet -----
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\python251_102507\lib\lib-tk\Tkinter.py", line 1403, in __call__
    return self.func(*args)
  File "C:\python251_102507\lib\site-packages\matplotlib\backends\backend_tkagg.
py", line 211, in resize
    self.show()
  File "C:\python251_102507\lib\site-packages\matplotlib\backends\backend_tkagg.
py", line 214, in draw
    FigureCanvasAgg.draw(self)
  File "C:\python251_102507\lib\site-packages\matplotlib\backends\backend_agg.py
", line 261, in draw
    self.figure.draw(self.renderer)
  File "C:\python251_102507\lib\site-packages\matplotlib\figure.py", line 759, i
n draw
    for a in self.axes: a.draw(renderer)
  File "C:\python251_102507\lib\site-packages\matplotlib\axes.py", line 1523, in
draw
    a.draw(renderer)
  File "C:\python251_102507\lib\site-packages\matplotlib\axis.py", line 712, in
draw
    for tick, loc, label in self.iter_ticks():
  File "C:\python251_102507\lib\site-packages\matplotlib\axis.py", line 659, in
iter_ticks
    minorLocs = self.minor.locator()
  File "C:\python251_102507\lib\site-packages\matplotlib\ticker.py", line 1026,
in __call__
    if len(subs) > 1 or subs[0] != 1.0:
IndexError: index out of bounds

----- end snippet -----

------------------------------------------------------------------------------
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options
  
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA