From: Joshua J. K. <jo...@ee...> - 2008-11-04 21:14:09
|
[Trying one more time.] I've read docs, search the list archive, and tried to step through code. How can I set things like xtick.labelsize and ytick.labelsize via the object oriented interface? I have a graph object, and I can't find anywhere in the data structure for the completed graph where the tick label sizes are stored, nor can I find functions to set them. Even with lots of stepping through code, I can't find where I would manually set the size of the ticks. I know about matplotlib.rc, and the setting in the config file, but I don't want to set things globally, I want to set per graph. Thanks for any pointers! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0xDB26D7CE |
From: John H. <jd...@gm...> - 2008-11-04 21:27:43
|
On Tue, Nov 4, 2008 at 3:13 PM, Joshua J. Kugler <jo...@ee...> wrote: > [Trying one more time.] > > I've read docs, search the list archive, and tried to step through code. The docs you are looking for are http://matplotlib.sourceforge.net/users/artists.html. > How can I set things like xtick.labelsize and ytick.labelsize via the > object oriented interface? I have a graph object, and I can't find > anywhere in the data structure for the completed graph where the tick > label sizes are stored, nor can I find functions to set them. Here is one way to do it:: for label in ax.get_xticklabels() + ax.get_yticklabels(): label.set_fontsize(12) But the artist tutorial above will give you a more in-depth explanation of the various containers and methods. JDH |
From: Joshua J. K. <jo...@ee...> - 2008-11-04 22:00:55
|
On Tuesday 04 November 2008, John Hunter said something like: > On Tue, Nov 4, 2008 at 3:13 PM, Joshua J. Kugler <jo...@ee...> wrote: > > [Trying one more time.] > > > > I've read docs, search the list archive, and tried to step through > > code. > > The docs you are looking for are > http://matplotlib.sourceforge.net/users/artists.html. > > > How can I set things like xtick.labelsize and ytick.labelsize via > > the object oriented interface? I have a graph object, and I can't > > find anywhere in the data structure for the completed graph where > > the tick label sizes are stored, nor can I find functions to set > > them. > > Here is one way to do it:: > > for label in ax.get_xticklabels() + ax.get_yticklabels(): > label.set_fontsize(12) > > But the artist tutorial above will give you a more in-depth > explanation of the various containers and methods. Sigh...how simple. Thank you very much! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0xDB26D7CE |
From: Joshua J. K. <jo...@ee...> - 2008-11-04 23:39:19
|
On Tuesday 04 November 2008, Joshua J. Kugler said something like: > > Here is one way to do it:: > > > > for label in ax.get_xticklabels() + ax.get_yticklabels(): > > label.set_fontsize(12) > > > > But the artist tutorial above will give you a more in-depth > > explanation of the various containers and methods. > > Sigh...how simple. Thank you very much! OK, so it's half working. :) I have code such as this: for label in self.main_axes.get_xticklabels(): tick.label.set_fontsize(self.xtick_labelsize) main_ticks = self.main_axes.get_yticklabels() sub_ticks = (self.sub_axes.get_yticklabels() if hasattr(self.sub_axes, 'get_yticklabels') else []) for label in main_ticks + sub_ticks: label.set_fontsize(self.ytick_labelsize) 'self' is an object that gets turned in to a plot on a figure. the sub_axes are because we have centigrade on one end of the plot, and Fahrenheit on the other end. The yticklabel code works fine. The xticklabel code has no effect. The X axis is an AutoDateLocator and apparently set_fontsize isn't having an effect with that. I tried setting the font size even after setting the locator, and that doesn't appear to have any effect. Can you point me to the relevant docs on the subject? :) Thanks! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0xDB26D7CE |
From: Stan W. <sta...@nr...> - 2008-11-05 14:47:28
|
> -----Original Message----- > From: Joshua J. Kugler [mailto:jo...@ee...] > Sent: Tuesday, November 04, 2008 18:39 > > On Tuesday 04 November 2008, Joshua J. Kugler said something like: > > > Here is one way to do it:: > > > > > > for label in ax.get_xticklabels() + ax.get_yticklabels(): > > > label.set_fontsize(12) > > > > > > But the artist tutorial above will give you a more in-depth > > > explanation of the various containers and methods. > > > > Sigh...how simple. Thank you very much! > > OK, so it's half working. :) > > I have code such as this: > > for label in self.main_axes.get_xticklabels(): > tick.label.set_fontsize(self.xtick_labelsize) Perhaps the line above should be label.set_fontsize(self.xtick_labelsize) instead. > main_ticks = self.main_axes.get_yticklabels() > sub_ticks = (self.sub_axes.get_yticklabels() > if hasattr(self.sub_axes, 'get_yticklabels') > else []) > for label in main_ticks + sub_ticks: > label.set_fontsize(self.ytick_labelsize) > > 'self' is an object that gets turned in to a plot on a figure. > the sub_axes are because we have centigrade on one end of the > plot, and Fahrenheit on the other end. The yticklabel code > works fine. The xticklabel code has no effect. > > The X axis is an AutoDateLocator and apparently set_fontsize > isn't having an effect with that. I tried setting the font > size even after setting the locator, and that doesn't appear > to have any effect. Can you point me to the relevant docs on > the subject? :) > > Thanks! > > j > > -- > Joshua Kugler > Part-Time System Admin/Programmer > http://www.eeinternet.com > PGP Key: http://pgp.mit.edu/ ID 0xDB26D7CE |
From: Joshua J. K. <jo...@ee...> - 2008-11-05 20:11:07
|
On Wednesday 05 November 2008, Stan West said something like: > > -----Original Message----- > > From: Joshua J. Kugler [mailto:jo...@ee...] > > Sent: Tuesday, November 04, 2008 18:39 > > > > On Tuesday 04 November 2008, Joshua J. Kugler said something like: > > > > Here is one way to do it:: > > > > > > > > for label in ax.get_xticklabels() + ax.get_yticklabels(): > > > > label.set_fontsize(12) > > > > > > > > But the artist tutorial above will give you a more in-depth > > > > explanation of the various containers and methods. > > > > > > Sigh...how simple. Thank you very much! > > > > OK, so it's half working. :) > > > > I have code such as this: > > > > for label in self.main_axes.get_xticklabels(): > > tick.label.set_fontsize(self.xtick_labelsize) > > Perhaps the line above should be > > label.set_fontsize(self.xtick_labelsize) > > instead. Well, yes, it should, and I apparently caught that bug AFTER I sent the e-mail, but alas it was left over from messing around with the code. The code is now correct: for label in self.main_axes.get_xticklabels(): label.set_fontsize(self.xtick_labelsize) But still does not affect the x date labels. Thanks for the pointer, though! j > > > main_ticks = self.main_axes.get_yticklabels() > > sub_ticks = (self.sub_axes.get_yticklabels() > > if hasattr(self.sub_axes, 'get_yticklabels') > > else []) > > for label in main_ticks + sub_ticks: > > label.set_fontsize(self.ytick_labelsize) > > > > 'self' is an object that gets turned in to a plot on a figure. > > the sub_axes are because we have centigrade on one end of the > > plot, and Fahrenheit on the other end. The yticklabel code > > works fine. The xticklabel code has no effect. > > > > The X axis is an AutoDateLocator and apparently set_fontsize > > isn't having an effect with that. I tried setting the font > > size even after setting the locator, and that doesn't appear > > to have any effect. Can you point me to the relevant docs on > > the subject? :) > > > > Thanks! -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0xDB26D7CE |