|
From: Benjamin R. <ben...@ou...> - 2011-05-20 20:20:04
|
On Thu, May 19, 2011 at 10:37 PM, Steve Ward <pla...@gm...> 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 |