Re: [Matplotlib-users] Setting the tick label font size

2013-10-30 Thread Daniele Nicolodi
On 29/10/2013 21:39, Ryan Nelson wrote:
> Daniele,
> 
> I agree this is perhaps a little overly complicated. (However, once you
> figure it out, it does give you a ton of flexibility.)

The main point is not that it is overly complicated, it is that is is
severely under documented...

> I played around
> with this a bit (thanks IPython!), and I may have figured out what you
> wanted to do. I rewrote the example you linked from the MPL website. I
> couldn't simplify it much, but it does change the size, location and
> labels of the floating y axis.

Thanks! I didn't have the resources to investigate this further.

> par2.axis["right"].major_ticklabels.set_fontsize(14)

Well, this makes sense...

Cheers,
Daniele


--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Setting the tick label font size

2013-10-29 Thread Ryan Nelson
Daniele,

I agree this is perhaps a little overly complicated. (However, once you
figure it out, it does give you a ton of flexibility.)  I played around
with this a bit (thanks IPython!), and I may have figured out what you
wanted to do. I rewrote the example you linked from the MPL website. I
couldn't simplify it much, but it does change the size, location and labels
of the floating y axis.

#

from mpl_toolkits.axes_grid1 import host_subplot

import mpl_toolkits.axisartist as AA

import matplotlib.pyplot as plt


host = host_subplot(111, axes_class=AA.Axes)

plt.subplots_adjust(right=0.75)


par1 = host.twinx()


par2 = host.twinx()

offset = 60

new_fixed_axis = par2.get_grid_helper().new_fixed_axis

par2.axis["right"] = new_fixed_axis(loc="right",

axes=par2,

offset=(offset, 0))

par2.axis["right"].toggle(all=True)


p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")

p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature")

p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity")


host.legend()


host.set_xlabel("Distance")

host.set_ylabel("Density")

host.axis["left"].label.set_color(p1.get_color())

host.set_xlim(0, 2)

host.set_ylim(0, 2)


par1.set_ylabel("Temperature")

par1.axis["right"].label.set_color(p2.get_color())

par1.set_ylim(0, 4)


par2.set_ylabel("Velocity")

par2.set_ylim(1, 65)

par2.yaxis.set_ticks( (20.0, 40.0) )

par2.yaxis.set_ticklabels( ('A', 'B') )

par2.axis["right"].label.set_color(p3.get_color())

par2.axis["right"].label.set_fontsize(18)

par2.axis["right"].major_ticklabels.set_fontsize(14)


plt.show()

##


Hope that helps.


Ryan


On Tue, Oct 29, 2013 at 5:54 AM, Daniele Nicolodi wrote:

> On 29/10/2013 03:11, Ryan Nelson wrote:
> > Daniele,
> >
> > I noticed the same problem with the Qt backend. However, I was looking
> > at the documentation on the AxesGrid webpage here:
> > http://matplotlib.org/mpl_toolkits/axes_grid/users/overview.html
> > And I see the following warning:
> >
> > axes_grid and axisartist (but not axes_grid1) uses a custom Axes class
> > (derived from the mpl’s original Axes class). As a side effect, some
> > commands (mostly tick-related) do not work. Use axes_grid1 to avoid
> > this, or see how things are different in axes_grid and axisartist (LINK
> > needed)
> >
> > Unfortunately, no link. But perhaps there is a way to avoid using the
> > Axes class from axisartist in your use case. For example, could you
> > import the Axes class as follows:
> >
> > from matplotlib.axes import Axes
> >
> > That seems to work with the Qt and PDF backends on Windows 7 (Anaconda
> > Python).
>
> Hello Ryan,
>
> thanks for confirming the problem.  I've also seen that note, but I
> thought "do not work" means that the methods raise an exception, not
> that they arbitrarily ignore arguments :(
>
> While the standard Axis class works for the cut-down example I posted,
> it does not for what I'm trying to achieve (having a second x axis below
> the main one).  I came up with that solution following the matplotlib
> documentation:
>
>
> http://matplotlib.org/mpl_toolkits/axes_grid/users/overview.html#axisartist-with-parasiteaxes
>
> however I don't really understand why some of the contortions there are
> necessary (they are not explained in the documentation).
>
> Cheers,
> Daniele
>
>
>
> --
> Android is increasing in popularity, but the open development platform that
> developers love is also attractive to malware creators. Download this white
> paper to learn more about secure code signing practices that can help keep
> Android apps secure.
> http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
> ___
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Setting the tick label font size

2013-10-29 Thread Daniele Nicolodi
On 29/10/2013 03:11, Ryan Nelson wrote:
> Daniele,
> 
> I noticed the same problem with the Qt backend. However, I was looking
> at the documentation on the AxesGrid webpage here:
> http://matplotlib.org/mpl_toolkits/axes_grid/users/overview.html
> And I see the following warning:
> 
> axes_grid and axisartist (but not axes_grid1) uses a custom Axes class
> (derived from the mpl’s original Axes class). As a side effect, some
> commands (mostly tick-related) do not work. Use axes_grid1 to avoid
> this, or see how things are different in axes_grid and axisartist (LINK
> needed)
> 
> Unfortunately, no link. But perhaps there is a way to avoid using the
> Axes class from axisartist in your use case. For example, could you
> import the Axes class as follows:
> 
> from matplotlib.axes import Axes
> 
> That seems to work with the Qt and PDF backends on Windows 7 (Anaconda
> Python).

Hello Ryan,

thanks for confirming the problem.  I've also seen that note, but I
thought "do not work" means that the methods raise an exception, not
that they arbitrarily ignore arguments :(

While the standard Axis class works for the cut-down example I posted,
it does not for what I'm trying to achieve (having a second x axis below
the main one).  I came up with that solution following the matplotlib
documentation:

http://matplotlib.org/mpl_toolkits/axes_grid/users/overview.html#axisartist-with-parasiteaxes

however I don't really understand why some of the contortions there are
necessary (they are not explained in the documentation).

Cheers,
Daniele


--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Setting the tick label font size

2013-10-28 Thread Ryan Nelson
Daniele,

I noticed the same problem with the Qt backend. However, I was looking at
the documentation on the AxesGrid webpage here:
http://matplotlib.org/mpl_toolkits/axes_grid/users/overview.html
And I see the following warning:

axes_grid and axisartist (but not axes_grid1) uses a custom Axes class
(derived from the mpl’s original Axes class). As a side effect, some
commands (mostly tick-related) do not work. Use axes_grid1 to avoid this,
or see how things are different in axes_grid and axisartist (LINK needed)

Unfortunately, no link. But perhaps there is a way to avoid using the Axes
class from axisartist in your use case. For example, could you import the
Axes class as follows:

from matplotlib.axes import Axes

That seems to work with the Qt and PDF backends on Windows 7 (Anaconda
Python).

Ryan


On Mon, Oct 28, 2013 at 7:37 PM, Daniele Nicolodi wrote:

> On 29/10/2013 00:17, Sterling Smith wrote:
> > While your example tries to be self contained, which is great!, there is
> no difference between these two conditions...
> >
> >> if BUG:
> >>ax1 = host_subplot(111, axes_class=Axes)
> >> else:
> >>ax1 = host_subplot(111, axes_class=Axes)
>
> Ops, obvious mistake. It should read:
>
> BUG = True
> if BUG:
> ax1 = host_subplot(111 , axes_class=Axes)
> else:
> ax1 = host_subplot(111)
>
>
> Cheers,
> Daniele
>
>
>
> --
> Android is increasing in popularity, but the open development platform that
> developers love is also attractive to malware creators. Download this white
> paper to learn more about secure code signing practices that can help keep
> Android apps secure.
> http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
> ___
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Setting the tick label font size

2013-10-28 Thread Daniele Nicolodi
On 29/10/2013 00:17, Sterling Smith wrote:
> While your example tries to be self contained, which is great!, there is no 
> difference between these two conditions...  
> 
>> if BUG:
>>ax1 = host_subplot(111, axes_class=Axes)
>> else:
>>ax1 = host_subplot(111, axes_class=Axes)

Ops, obvious mistake. It should read:

BUG = True
if BUG:
ax1 = host_subplot(111 , axes_class=Axes)
else:
ax1 = host_subplot(111)


Cheers,
Daniele


--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Setting the tick label font size

2013-10-28 Thread Daniele Nicolodi
On 28/10/2013 23:30, Oliver wrote:
> Hi Daniele,
> 
> not sure, but it seems to work for me. Did you do a plt.draw() or
> plt.show() to reflect the changes?

Hello,

it investigated this a bit further and the problem presents itself only
when I use `mpl_toolkits.axisartist.Axes`. Here is a minimum example
that demonstrates the problem:

import numpy as np
import matplotlib.pyplot as plt

from mpl_toolkits.axes_grid1 import host_subplot
from mpl_toolkits.axisartist import Axes

x = np.linspace(0, 2*np.pi)
y = np.sin(x)

f = plt.figure()

BUG = True
if BUG:
ax1 = host_subplot(111, axes_class=Axes)
else:
ax1 = host_subplot(111, axes_class=Axes)

ax1.plot(x, y)
ax1.set_xlim(0, 2*np.pi)
ax1.set_xticks(np.linspace(0, 2*np.pi, 5))
ax1.set_xticklabels(['%.2f' % x for x in np.linspace(0, 2*np.pi, 5)],
fontsize=8)

plt.draw()
plt.show()

Cheers,
Daniele

--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Setting the tick label font size

2013-10-28 Thread Oliver
Hi Daniele,

not sure, but it seems to work for me. Did you do a plt.draw() or
plt.show() to reflect the changes?

Kind regards,

Oliver


2013/10/28 Daniele Nicolodi 

> Hello,
>
> I'm trying to change the font size for the tick labels. I've tried both
> setting it explicitly when creating the labels:
>
>   ax2.set_xticklabel(['%d' % x for x in arange(10)], fontsize=10)
>
> or after:
>
>   for label in ax2.get_xticklabels():
>   label.set_fontsize(8)
>
> but the rendering is unaffected by the setting.  This is with the MacOSX
> backend and with the PDF backend.  Is it a bug or am I missing something?
>
> Thanks. Best,
> Daniele
>
>
> --
> Android is increasing in popularity, but the open development platform that
> developers love is also attractive to malware creators. Download this white
> paper to learn more about secure code signing practices that can help keep
> Android apps secure.
> http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
> ___
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
--
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users