Matplotlib: How to set number of ticks on an axis?
John Hunter
jdhunter at ace.bsd.uchicago.edu
Thu Mar 30 17:05:56 EST 2006
>>>>> "Caleb" == Caleb Hattingh <caleb.hattingh at gmail.com> writes:
Caleb> It seems that the locater() classes are where I should
Caleb> look, and there seem to be some defaults in ticker.py:
Caleb> class AutoLocator(MaxNLocator): def __init__(self):
Caleb> MaxNLocator.__init__(self, nbins=9, steps=[1, 2, 5, 10])
Caleb> I don't understand what this means :)
Caleb> I would prefer not to hack this directly in the matplotlib
Caleb> code. How can I change the number of ticks on an axis
Caleb> programmatically without messing with the other ticklabel
Caleb> functionality?
Yes, you will want to use a MaxNLocator. Note that the MaxNLocator
sets the maximum number of *intervals* so the max number of ticks will
be the max number of intervals plus one.
from matplotlib.ticker import MaxNLocator
from pylab import figure, show, nx
fig = figure()
ax = fig.add_subplot(111)
ax.plot(nx.mlab.rand(1000))
ax.xaxis.set_major_locator(MaxNLocator(4))
show()
JDH
More information about the Python-list
mailing list