xticklabels printed twice when using twinx

Hi all,

I have noticed a funny behaviour when using twinx to do two plots on the
same axes: the xticklabels are printed twice, once for each axes. This
shows up as slightly thicker labels than for a single axes. It is
particularly visible for ps or pdf output, but can be seen also in an
interactive session.

I can also see this in the figure shown for the two_scales.py example
(http://matplotlib.sourceforge.net/_images/two_scales.png), where the
xticklabels are thicker than the yticklabels (though it is not so
apparent due to different colours. I therefore assume it is not just my
installation. (Adding

for tl in ax2.get_xticklabels():
    tl.set_fontsize(16)

just before the last plt.show() in two_scales.py makes it even more
visible)

Does anyone know of a reasonable work-around? Surely it is not the
intended behaviour?

Thanks for any help,
Christoffer Åberg

I’d also be interested in a workaround. I tried to remove the tick labels from the second axe, but it also removed the labels from the first axe.

Thanks,

David

···

On Sun, Feb 8, 2009 at 9:14 AM, Christoffer Aberg <Christoffer.Aberg@…2483…> wrote:

Hi all,

I have noticed a funny behaviour when using twinx to do two plots on the

same axes: the xticklabels are printed twice, once for each axes. This

shows up as slightly thicker labels than for a single axes. It is

particularly visible for ps or pdf output, but can be seen also in an

interactive session.

I can also see this in the figure shown for the two_scales.py example

(http://matplotlib.sourceforge.net/_images/two_scales.png), where the

xticklabels are thicker than the yticklabels (though it is not so

apparent due to different colours. I therefore assume it is not just my

installation. (Adding

for tl in ax2.get_xticklabels():

tl.set_fontsize(16)

just before the last plt.show() in two_scales.py makes it even more

visible)

Does anyone know of a reasonable work-around? Surely it is not the

intended behaviour?

Thanks for any help,

Christoffer Åberg


Create and Deploy Rich Internet Apps outside the browser with Adobe®AIR™

software. With Adobe AIR, Ajax developers can use existing skills and code to

build responsive, highly engaging applications that combine the power of local

resources and data with the reach of the web. Download the Adobe AIR SDK and

Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com


Matplotlib-users mailing list

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users

David,

This seems to work for me:
(here ax2 is the second axis)

The only work around I can see is to add
for tl in ax2.get_xticklabels():
   tl.set_visible(False)

To prevent the ticklines being drawn twice I guess we should also do

for tline in ax2.get_xticklines():
   tline.set_visible(False)

HTH, George.

2009/2/27 David Huard <david.huard@...287...>:

···

I'd also be interested in a workaround. I tried to remove the tick labels
from the second axe, but it also removed the labels from the first axe.

Thanks,

David

On Sun, Feb 8, 2009 at 9:14 AM, Christoffer Aberg > <Christoffer.Aberg@...2483...> wrote:

Hi all,

I have noticed a funny behaviour when using twinx to do two plots on the
same axes: the xticklabels are printed twice, once for each axes. This
shows up as slightly thicker labels than for a single axes. It is
particularly visible for ps or pdf output, but can be seen also in an
interactive session.

I can also see this in the figure shown for the two_scales.py example
(http://matplotlib.sourceforge.net/_images/two_scales.png), where the
xticklabels are thicker than the yticklabels (though it is not so
apparent due to different colours. I therefore assume it is not just my
installation. (Adding

for tl in ax2.get_xticklabels():
tl.set_fontsize(16)

just before the last plt.show() in two_scales.py makes it even more
visible)

Does anyone know of a reasonable work-around? Surely it is not the
intended behaviour?

Thanks for any help,
Christoffer Åberg

------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with
Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code
to
build responsive, highly engaging applications that combine the power of
local
resources and data with the reach of the web. Download the Adobe AIR SDK
and
Ajax docs to start building applications
today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Christoffer Aberg wrote:

Hi all,

I have noticed a funny behaviour when using twinx to do two plots on the
same axes: the xticklabels are printed twice, once for each axes. This
shows up as slightly thicker labels than for a single axes. It is
particularly visible for ps or pdf output, but can be seen also in an
interactive session.

I can also see this in the figure shown for the two_scales.py example
(http://matplotlib.sourceforge.net/_images/two_scales.png), where the
xticklabels are thicker than the yticklabels (though it is not so
apparent due to different colours. I therefore assume it is not just my
installation. (Adding

for tl in ax2.get_xticklabels():
    tl.set_fontsize(16)

just before the last plt.show() in two_scales.py makes it even more
visible)

Does anyone know of a reasonable work-around? Surely it is not the
intended behaviour?

It is now fixed in svn.

Eric

Hi Erick,

Is there any particular reason to introduce _xaxison and _yaxison,
instead of using set_visible(False) on the xaxis and yaxis? Just
wondering..

-JJ

···

On Sat, Feb 28, 2009 at 1:52 PM, Eric Firing <efiring@...202...> wrote:

Christoffer Aberg wrote:

Hi all,

I have noticed a funny behaviour when using twinx to do two plots on the
same axes: the xticklabels are printed twice, once for each axes. This
shows up as slightly thicker labels than for a single axes. It is
particularly visible for ps or pdf output, but can be seen also in an
interactive session.

I can also see this in the figure shown for the two_scales.py example
(http://matplotlib.sourceforge.net/_images/two_scales.png), where the
xticklabels are thicker than the yticklabels (though it is not so
apparent due to different colours. I therefore assume it is not just my
installation. (Adding

for tl in ax2.get_xticklabels():
tl.set_fontsize(16)

just before the last plt.show() in two_scales.py makes it even more
visible)

Does anyone know of a reasonable work-around? Surely it is not the
intended behaviour?

It is now fixed in svn.

Eric

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Jae-Joon Lee wrote:

Hi Erick,

Is there any particular reason to introduce _xaxison and _yaxison,
instead of using set_visible(False) on the xaxis and yaxis? Just
wondering..

Good catch--I just didn't think of it. That is a much better solution. I'll do it shortly.

Thank you.

Eric

···

-JJ

On Sat, Feb 28, 2009 at 1:52 PM, Eric Firing <efiring@...202...> wrote:

Christoffer Aberg wrote:

Hi all,

I have noticed a funny behaviour when using twinx to do two plots on the
same axes: the xticklabels are printed twice, once for each axes. This
shows up as slightly thicker labels than for a single axes. It is
particularly visible for ps or pdf output, but can be seen also in an
interactive session.

I can also see this in the figure shown for the two_scales.py example
(http://matplotlib.sourceforge.net/_images/two_scales.png), where the
xticklabels are thicker than the yticklabels (though it is not so
apparent due to different colours. I therefore assume it is not just my
installation. (Adding

for tl in ax2.get_xticklabels():
    tl.set_fontsize(16)

just before the last plt.show() in two_scales.py makes it even more
visible)

Does anyone know of a reasonable work-around? Surely it is not the
intended behaviour?

It is now fixed in svn.

Eric

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users