log scale plots ignore tick_params

The example code should explain the problem.
tick_params(), at least for the ticks themselves, is ignored by log plots.

clf()
x = arange(10)
subplot(211)
plot(x, x)
tick_params(right='off') # works.

subplot(212)
semilogy(x, x)
tick_params(right='off') # doesn't work!
draw()

M

The example code should explain the problem.
tick_params(), at least for the ticks themselves, is ignored by log plots.

clf()
x = arange(10)
subplot(211)
plot(x, x)
tick_params(right='off') # works.

subplot(212)
semilogy(x, x)
tick_params(right='off') # doesn't work!
draw()

You need to specify an additional kwarg, which='both'. The default is "major" only, but log axes use minor and major ticks.

Eric

···

On 2012/10/09 3:03 PM, Mike Kaufman wrote:

M

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

You are so right. And now that I think about it, this has bitten me (and been solved by me) before. And I think the reason has got to be that the regular plot simply doesn't have any minor ticks by default. That's bugged me because (correct me if I'm wrong) many of our competitors' (e.g. Matlab, IDL) plots do have minor ticks as a default.

What do you think about changing the default of tick_params to 'both', and perhaps add minor ticks (I suggest a single minor between each major) to regular plots as a default?

M

···

On 10/9/12 9:42 PM, Eric Firing wrote:

On 2012/10/09 3:03 PM, Mike Kaufman wrote:

clf()
x = arange(10)
subplot(211)
plot(x, x)
tick_params(right='off') # works.

subplot(212)
semilogy(x, x)
tick_params(right='off') # doesn't work!
draw()

You need to specify an additional kwarg, which='both'. The default is
"major" only, but log axes use minor and major ticks.

I’d +1 that MEP. Though, a place where it might not makes sense is bar charts. Something to think about.

Ben Root

···

On Tuesday, October 9, 2012, Mike Kaufman wrote:

On 10/9/12 9:42 PM, Eric Firing wrote:

On 2012/10/09 3:03 PM, Mike Kaufman wrote:

clf()

x = arange(10)

subplot(211)

plot(x, x)

tick_params(right=‘off’) # works.

subplot(212)

semilogy(x, x)

tick_params(right=‘off’) # doesn’t work!

draw()

You need to specify an additional kwarg, which=‘both’. The default is

“major” only, but log axes use minor and major ticks.

You are so right. And now that I think about it, this has bitten me (and

been solved by me) before. And I think the reason has got to be that the

regular plot simply doesn’t have any minor ticks by default. That’s

bugged me because (correct me if I’m wrong) many of our competitors’

(e.g. Matlab, IDL) plots do have minor ticks as a default.

What do you think about changing the default of tick_params to ‘both’,

and perhaps add minor ticks (I suggest a single minor between each

major) to regular plots as a default?

M

     >> clf()
     >> x = arange(10)
     >> subplot(211)
     >> plot(x, x)
     >> tick_params(right='off') # works.
     >>
     >> subplot(212)
     >> semilogy(x, x)
     >> tick_params(right='off') # doesn't work!
     >> draw()
     >
     > You need to specify an additional kwarg, which='both'. The default is
     > "major" only, but log axes use minor and major ticks.

    You are so right. And now that I think about it, this has bitten me (and
    been solved by me) before. And I think the reason has got to be that the
    regular plot simply doesn't have any minor ticks by default. That's
    bugged me because (correct me if I'm wrong) many of our competitors'
    (e.g. Matlab, IDL) plots do have minor ticks as a default.

    What do you think about changing the default of tick_params to 'both',
    and perhaps add minor ticks (I suggest a single minor between each
    major) to regular plots as a default?

    M

I'd +1 that MEP. Though, a place where it might not makes sense is bar
charts. Something to think about.

I would not support making minor ticks appear by default on linear axes. I don't think Matlab does it; but more importantly, (1) doing a good job of automatic tick location would get more difficult, and (2) minor ticks on linear axes are usually visual clutter, not good design.

Regarding defaulting to "both", the problem is that this would make sense only for some of the parameters. For example, one would not want "both" to be the default when setting tick length, and might not want it when setting width. Granted, there are more options that one typically would want to apply to both than that one would not, so "both" might still be a better default.

Eric

···

On 2012/10/09 4:38 PM, Benjamin Root wrote:

On Tuesday, October 9, 2012, Mike Kaufman wrote:
    On 10/9/12 9:42 PM, Eric Firing wrote:
     > On 2012/10/09 3:03 PM, Mike Kaufman wrote:

Ben Root

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev

_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel