Okay, I've gotten this far. I have a Figure and I think I can change the formatting of the values displayed in the toolbar by setting taking the X axis and setting the function
format_xdata
to something of my own (something that computes lat/lon). Similar idea for the Y axis.
So, given my figure, how do I get the X and Y axis? All I see is gca(). But how can I get both? Using fig.get_axes() I only got 1 axis.
Anybody know?
Mathew
Hi Mathew,
2008/10/13 Mathew Yeates <myeates@…369…>
Okay, I’ve gotten this far. I have a Figure and I think I can change the
formatting of the values displayed in the toolbar by setting taking the
X axis and setting the function
format_xdata
to something of my own (something that computes lat/lon). Similar idea
for the Y axis.
So, given my figure, how do I get the X and Y axis? All I see is gca().
But how can I get both? Using fig.get_axes() I only got 1 axis.
I think this is a terminology issue: the axis objects returned by gca() or in the list returned by get_axes() incorporate both the ‘axes’ in the sense of x and y axes. With the single result of gca() you can get at both the x and y axes. For example:
import matplotlib.pyplot as plt
ax = plt.gca()
ax.set_xlims(xmin=-1)
ax.set_ylims(ymax=0)
ax.format_xdata = … # if this is how you use this bit - haven’t needed to change these myself
ax.format_ydata = …
I hope that helps,
Angus.
···
–
AJC McMorland
Post-doctoral research fellow
Neurobiology, University of Pittsburgh
Thanks Angus. I tried this out ... it works once and only once!
BTW, The correct thing to do is
res=fig.gca()
res.fmt_xdata=foo() #instead of format_xdata
res.fmt_ydata=foo()
although, like I said, it only first for the first event. Somehow res.fmt_xdata is getting set back to None
Mathew
Angus McMorland wrote:
···
Hi Mathew,
2008/10/13 Mathew Yeates <myeates@...369... <mailto:myeates@…369…>>
Okay, I've gotten this far. I have a Figure and I think I can
change the
formatting of the values displayed in the toolbar by setting
taking the
X axis and setting the function
format_xdata
to something of my own (something that computes lat/lon). Similar idea
for the Y axis.
So, given my figure, how do I get the X and Y axis? All I see is
gca().
But how can I get both? Using fig.get_axes() I only got 1 axis.
I think this is a terminology issue: the axis objects returned by gca() or in the list returned by get_axes() incorporate both the 'axes' in the sense of x and y axes. With the single result of gca() you can get at both the x and y axes. For example:
import matplotlib.pyplot as plt
ax = plt.gca()
ax.set_xlims(xmin=-1)
ax.set_ylims(ymax=0)
ax.format_xdata = ... # if this is how you use this bit - haven't needed to change these myself
ax.format_ydata = ...
I hope that helps,
Angus.
--
AJC McMorland
Post-doctoral research fellow
Neurobiology, University of Pittsburgh
Angus pointed out that I need to do
res.fmt_xdata=foo
Duh. I was evaluating foo.
But this still doesn't work!
The default formatting operation is still called.
Mathew
Mathew Yeates wrote:
···
Thanks Angus. I tried this out ... it works once and only once!
BTW, The correct thing to do is
res=fig.gca()
res.fmt_xdata=foo() #instead of format_xdata
res.fmt_ydata=foo()
although, like I said, it only first for the first event. Somehow res.fmt_xdata is getting set back to None
Mathew
Angus McMorland wrote:
Hi Mathew,
2008/10/13 Mathew Yeates <myeates@...369... <mailto:myeates@…369…>>
Okay, I've gotten this far. I have a Figure and I think I can
change the
formatting of the values displayed in the toolbar by setting
taking the
X axis and setting the function
format_xdata
to something of my own (something that computes lat/lon). Similar idea
for the Y axis.
So, given my figure, how do I get the X and Y axis? All I see is
gca().
But how can I get both? Using fig.get_axes() I only got 1 axis.
I think this is a terminology issue: the axis objects returned by gca() or in the list returned by get_axes() incorporate both the 'axes' in the sense of x and y axes. With the single result of gca() you can get at both the x and y axes. For example:
import matplotlib.pyplot as plt
ax = plt.gca()
ax.set_xlims(xmin=-1)
ax.set_ylims(ymax=0)
ax.format_xdata = ... # if this is how you use this bit - haven't needed to change these myself
ax.format_ydata = ...
I hope that helps,
Angus.
--
AJC McMorland
Post-doctoral research fellow
Neurobiology, University of Pittsburgh
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options
This is the correct usage -- so if it is not working you need to post
a complete example. Perhaps you are not setting the correct Axes
instance?
JDH
···
On Mon, Oct 13, 2008 at 2:27 PM, Mathew Yeates <myeates@...369...> wrote:
Angus pointed out that I need to do
res.fmt_xdata=foo
Duh. I was evaluating foo.
But this still doesn't work!
The default formatting operation is still called.
The reason it wasn't working is that my function "foo" didn't have the right signature.fmt_xdata takes 1 argument. I have no idea why I didn't see an exception displayed.
It's working now that I have
def foo(x) pass
Mathew
John Hunter wrote:
···
On Mon, Oct 13, 2008 at 2:27 PM, Mathew Yeates <myeates@...369...> wrote:
Angus pointed out that I need to do
res.fmt_xdata=foo
Duh. I was evaluating foo.
But this still doesn't work!
The default formatting operation is still called.
This is the correct usage -- so if it is not working you need to post
a complete example. Perhaps you are not setting the correct Axes
instance?
JDH