On Thu, May 19, 2011 at 10:37 PM, Steve Ward <planet36@gmail.com> wrote:
>From running the code below, I see only 8 subticks between the major
ticks.  But the documentation
<http://matplotlib.sourceforge.net/api/axes_api.html#matplotlib.axes.Axes.set_xscale>
says there should be 10.  I'm using matplotlib version 0.99.3.

#----------------------------
import matplotlib.pyplot as plt
import numpy as np
y = range(1, 4)
x = np.power(10, y)
plt.gca().set_xscale('log', basex=10, subsx=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
plt.gca().plot(x, y)
plt.show()
#----------------------------

However, even if 10 are being drawn, I think there would only be 9
subticks between the major ticks because the first subtick is on a
major tick.  Am I wrong?


Steve


You are mostly correct.  The documentation, however, is very wrong.  The first visible subtick would be for 20.  Therefore, there will only be 8 visible subticks.  The suggestion of doing [0, 1, 2, 3, ...] for subsx has two problems.  First, the subtick at 0 will never show up!  Second, the subtick for 1 is also a major tick.  While this isn't technically wrong, (maybe the major ticks get turned off or something...), it is a poor example and I will fix it.

Thank you for pointing it out.

Ben Root