"Alexander Michael" <[EMAIL PROTECTED]> writes:

> I would like to create a plot axis with major tick labels centered
> *between* major tick markers instead below tick markers.

Take a look at

http://thread.gmane.org/gmane.comp.python.matplotlib.general/5271
http://thread.gmane.org/gmane.comp.python.matplotlib.general/5296
http://www.scipy.org/Cookbook/Matplotlib/Transformations

--
Jouni

From your references, I have been mostly able to figure out how to do it. Thank you.
So far, I have:

# create transformation with x in data coords and y in axes coordinates
transLabels = matplotlib.transforms.blend_xy_sep_transform(
    ax.transData, ax.transAxes)

# get major locator and usurp major formatter for custom positioning
major_locator = ax.xaxis.get_major_locator()
major_formatter = ax.xaxis.get_major_formatter()
ax.xaxis.set_major_formatter(matplotlib.ticker.NullFormatter())

# create custom text labels centered between major tick marks
major_locs = major_locator()
for i in range(1,len(major_locs)):
    x_last,x = major_locs[i-1],major_locs[i]
    ax.text(0.5*(x+x_last), -0.04, major_formatter(x, i),
        transform=transLabels, horizontalalignment='center')

When "zooming around" an interactive plot, however, my custom labels get pushed
off into the margins. I'm guessing I need to put them in a clip box somehow. Any hints?

Thanks!
Alex