Hmm, no, it looks like the tick_params were added in 1.0.  I can also get it to work using

plt.setp(ax.xaxis.get_ticklines(minor=False), markersize=10)

but I'm using matplotlib 1.0.1.  I'm not sure if neither of those solutions work.


On Thu, Jul 28, 2011 at 3:30 PM, Andre' Walker-Loud <> wrote:
Hi Ben,

Would you expect this to work on Matplotlib 0.99.3?

I get the following error

AttributeError: 'XAxis' object has no attribute 'set_tick_params'



On Jul 28, 2011, at 12:18 PM, Ben Breslauer wrote:

Hi Andre,

You should be able to set the size with the following:

params = {'length': 10}
axis = plt.axes().xaxis
axis.set_tick_params(which='major', **params)

You can also use 'minor' instead of 'major' to set the minor ticks.  There are a number of different valid values for the params dict, including direction, width, and color.


On Thu, Jul 28, 2011 at 2:22 PM, Andre' Walker-Loud <> wrote:
Hi All,

I am trying to modify tick sizes and labels.  Reading documents and examples, I have found an easy way to modify the labels,

> import matplotlib.pyplot as plt
> ax = plt.axes()
> font_size = 24
> plt.setp(ax.get_xticklabels(),fontsize=font_size)

but I am struggling to find such a nice solution for the tick size.  I would like to change the size of the major and minor ticks independently.  But the best I have come up with so far is a brute force double loop (I tried calling "major=False" but "major" is not a recognized kwarg)

> for tick in ax.xaxis.get_ticklines(minor=True):
>     tick.set_markersize(5)
> for tick in ax.xaxis.get_ticklines(minor=False):
>     tick.set_markersize(10)

I assume there is some nice solution like for the tick labels, but I have not found it.

Anyone figured this one out yet?


Got Input?   Slashdot Needs You.
Take our quick survey online.  Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
Matplotlib-users mailing list