[Matplotlib-users] general matplotlib usage questions

2008-11-20 Thread Robin
Hi,

I think matplotlib is a terrific tool, and it is a major component of
the open source toolset that has allowed me to stop using Matlab.

But, whenever it comes to producing publication plots, there are a few
things I always find challenging - and I'm wondering if I'm doing
things wrong.

First, what backend do people recommend for use on OS X? At the moment
I am using TkAgg. But is there any backend that will behave as a
proper OS X application ie allow window switching with cmd-`, maybe
allow use of the maximise button etc.?

When producing publication size plots - ie 3x3 in or smaller (that
usually appear very small in the interactive window) there is an
annoying behaviour where any mouse over the graph seems to resize it -
the plot jumps around in size as I move the mouse over it. This is
mainly annoying because it means when producing a batch of plots for
later use, I have to be very careful not to mouse over, since once I
do that, I can no longer be sure it will return to the same size, so
the final set of images would have different sizes. If I accidently
mouse over I have to go back and recreate the plot. Is this a property
of the backend I am using?

Again, when working with small sizes, the procedure for chaning the
size of the figure is quite involved. As well as the standard problem
of making sure the text fits, nothing overlaps the image etc.
matplotlib doesn't seem to position the axes correctly in the figure -
the labels are usually cut off. So I have to manually experiment with
ax.set_position() by trial and error until I find a solution that
looks OK - but of course if I later change the size of the figure I
have to repeat this procedure. Is there an easier way to do this?

Thanks,

Robin

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Another question

2008-11-20 Thread Mauro Cavalcanti
Dear Eric,

Thanks for your reply. This is surely not good news -- maybe an
automatic shrinking mechanism could be added in a future version of
Matplotlib (this would be useful not only with maps, but with other
plots as well)?

Regards,

2008/11/20 Eric Firing [EMAIL PROTECTED]:
 Mauro Cavalcanti wrote:

 Dear ALL,

 Another (this time possibly quite silly) question: how can I make a
 Basemap cover entirely the display area of the GUI backend (ie.,
 without the top, bottom, left, right spaces)?

 I tried something like:

 self.figure = Figure()
 self.figure.subplots_adjust(left=-0.01, bottom=-0.750, right=1.0,
 top=1.55)

 but could not control the bottom (or top) margins.

 The reason is that a map has a fixed aspect ratio, and there is no mechanism
 for automatically shrinking the appropriate figure dimension to eliminate
 extra space.  You will have adjust the figure dimensions manually.

 Eric


 Thanks in advance for any hints.

 Best regards,






-- 
Dr. Mauro J. Cavalcanti
Ecoinformatics Studio
P.O. Box 46521, CEP 20551-970
Rio de Janeiro, RJ, BRASIL
E-mail: [EMAIL PROTECTED]
Web: http://studio.infobio.net
Linux Registered User #473524 * Ubuntu User #22717
Life is complex. It consists of real and imaginary parts.

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Another question

2008-11-20 Thread Jeff Whitaker
Mauro Cavalcanti wrote:
 Dear ALL,

 Another (this time possibly quite silly) question: how can I make a
 Basemap cover entirely the display area of the GUI backend (ie.,
 without the top, bottom, left, right spaces)?

 I tried something like:

 self.figure = Figure()
 self.figure.subplots_adjust(left=-0.01, bottom=-0.750, right=1.0, top=1.55)

 but could not control the bottom (or top) margins.

 Thanks in advance for any hints.

 Best regards,

   
Mauro:  You'll have to create a figure with the same aspect ratio as the 
map, and then add an axes to the figure that fills the entire figure 
(i.e. fig.add_axes([0,0,1,1]).   The `aspect` Basemap instance variable 
tells you the aspect ratio of the map.  For instance, in the wx 
embedding example you sent me, the map.aspect = 0.5.  Therefore, you 
would need to create a figure canvas that is twice as wide as it is 
high, like this

self.figure = Figure(figsize=(10,5)) 

then add an axes instances that fills the figure completely

self.ax = self.figure.add_axes([0,0,1,1])

Note that you will not have any room for labels if you do this.

HTH,

-Jeff

-- 
Jeffrey S. Whitaker Phone : (303)497-6313
NOAA/OAR/CDC  R/PSD1FAX   : (303)497-6449
325 BroadwayBoulder, CO, USA 80305-3328


-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] general matplotlib usage questions

2008-11-20 Thread Darren Dale
On Thursday 20 November 2008 06:43:48 am Robin wrote:
 Hi,

 I think matplotlib is a terrific tool, and it is a major component of
 the open source toolset that has allowed me to stop using Matlab.

 But, whenever it comes to producing publication plots, there are a few
 things I always find challenging - and I'm wondering if I'm doing
 things wrong.

 First, what backend do people recommend for use on OS X? At the moment
 I am using TkAgg. But is there any backend that will behave as a
 proper OS X application ie allow window switching with cmd-`, maybe
 allow use of the maximise button etc.?

 When producing publication size plots - ie 3x3 in or smaller (that
 usually appear very small in the interactive window) there is an
 annoying behaviour where any mouse over the graph seems to resize it -
 the plot jumps around in size as I move the mouse over it. This is
 mainly annoying because it means when producing a batch of plots for
 later use, I have to be very careful not to mouse over, since once I
 do that, I can no longer be sure it will return to the same size, so
 the final set of images would have different sizes. If I accidently
 mouse over I have to go back and recreate the plot. Is this a property
 of the backend I am using?

I think I know what causes this, I saw something similar in the Qt backends a 
while back. When the mouse cursor enters the axes, the coordinates of the 
cursor are reported in the statusbar/toolbar. The backend needs to be 
configured so this text widget would rather run off the end of the window than 
resize the window. I don't know how this is done in Tk, I've never worked with 
that GUI library. 

 Again, when working with small sizes, the procedure for chaning the
 size of the figure is quite involved. As well as the standard problem
 of making sure the text fits, nothing overlaps the image etc.
 matplotlib doesn't seem to position the axes correctly in the figure -
 the labels are usually cut off. So I have to manually experiment with
 ax.set_position() by trial and error until I find a solution that
 looks OK - but of course if I later change the size of the figure I
 have to repeat this procedure. Is there an easier way to do this?

You can use the subplot_adjust button on the toolbar for some degree of 
customization. But in general, it can be a somewhat time consuming to get the 
layout just right. I think it would be difficult for mpl to determine what the 
appropriate axes position should be given a certain figure and text size.

Darren
-
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=100url=/___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] general matplotlib usage questions

2008-11-20 Thread John Hunter
On Thu, Nov 20, 2008 at 7:12 AM, Darren Dale [EMAIL PROTECTED] wrote:

 You can use the subplot_adjust button on the toolbar for some degree of
 customization. But in general, it can be a somewhat time consuming to get
 the layout just right. I think it would be difficult for mpl to determine
 what the appropriate axes position should be given a certain figure and text
 size.

There is a recipe on the web site for automatically shifting the left
side of the subplot over to make room for the ylabels

  
http://matplotlib.sourceforge.net/faq/howto_faq.html#automatically-make-room-for-tick-labels

It might be nice to make an option to handle the simple case
automatically, to expand or shrink the subplots so the text fits w/o
too much padding on any side.

JDH

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Save a plot background

2008-11-20 Thread Jeff Whitaker
Hrafnkell Pálsson wrote:

   
 This will turn off the rendering of both the background rectangle as
 well as all the ticks and their associated labels, ticklines and
 gridlines.  Perhaps Jeff can advise you vis-a-vis the basemap api what
 the equivalent is

 

 Ok, I tested your example and see what you mean.
 But if I understood you correctly this won't allow me to retain the
 watermark and the dots I've used for marking cities.
 It would be nice if I could retain the whole background, if it wouldn't
 matter whether I retrieved the background or actually plotted it.
 But even just avoiding plotting the coastline every time would save a lot of
 time.



   
 Perhaps Jeff can advise you vis-a-vis the basemap api what
 the equivalent is 

 

 Could you, Jeff, give me a nudge in the right direction? I've read through
 the basemap documentation but didn't notice anything that might help.

 Hrafnkell
   

Hrafnkell:

Had some time this morning, so I used John's method to create a working Basemap 
example:

import matplotlib
matplotlib.use('Agg')
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

# this example shows how to save a map background and
# reuse it in another figure.

# make sure we have all the same properties on all figs
figprops = dict(figsize=(8,6), dpi=100, facecolor='white')

# generate the first figure.
fig1 = plt.figure(1,**figprops)
ax1 = fig1.add_subplot(111)
# create basemap instance, plot coastlines.
map = Basemap(projection='moll',lon_0=0)
map.drawcoastlines()
map.drawmapboundary(fill_color='aqua')
map.fillcontinents(color='coral',lake_color='aqua')
fig1.canvas.draw()
background = fig1.canvas.copy_from_bbox(fig1.bbox)
fig1.savefig('figure1.png', dpi=100)


# generate the second figure, re-using the background
# from figure 1.
fig2 = plt.figure(2,frameon=False,**figprops)
ax2 = fig2.add_subplot(111, frameon=False, xticks=[], yticks=[])
# restore previous background.
fig2.canvas.restore_region(background)
# draw parallels and meridians on existing background.
map.drawparallels(range(-90,90,30))
map.drawmeridians(range(-180,180,60))
fig2.savefig('figure2.png', dpi=100)


I've added this to the basemap examples directory as save_background.py

HTH,

-Jeff

-- 
Jeffrey S. Whitaker Phone : (303)497-6313
NOAA/OAR/CDC  R/PSD1FAX   : (303)497-6449
325 BroadwayBoulder, CO, USA 80305-3328


-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] general matplotlib usage questions

2008-11-20 Thread Robin
Sorry! Forgot to send to the list since the reply-to isn't set properly...

Thanks very much for your reply!

On Thu, Nov 20, 2008 at 1:12 PM, Darren Dale [EMAIL PROTECTED] wrote:
 I think I know what causes this, I saw something similar in the Qt backends
 a while back. When the mouse cursor enters the axes, the coordinates of the
 cursor are reported in the statusbar/toolbar. The backend needs to be
 configured so this text widget would rather run off the end of the window
 than resize the window. I don't know how this is done in Tk, I've never
 worked with that GUI library.

Now you point it out it is clear that that is what is causing it. I'm
using python.org python on a Mac and it's not clear to me how best to
install Qt - so at the moment Tk is the only working backend I have.

 You can use the subplot_adjust button on the toolbar for some degree of
 customization. But in general, it can be a somewhat time consuming to get
 the layout just right. I think it would be difficult for mpl to determine
 what the appropriate axes position should be given a certain figure and text
 size.

I don't know about the widget - that is fantastic and it will make a
huge difference... It is slightly confusing since I have been working
with the set_position type numbers, but being able to change them
interactively will save a lot of time.
Another thing I've noticed is that the pdf output is always slightly
different to the displayed output - for example some text might be cut
off on the interactive view, but the saved pdf is fine... Is this also
a known behaviour?

Thanks again,

Robin

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] general matplotlib usage questions

2008-11-20 Thread Robin
On Thu, Nov 20, 2008 at 1:21 PM, John Hunter [EMAIL PROTECTED] wrote:
 There is a recipe on the web site for automatically shifting the left
 side of the subplot over to make room for the ylabels

  
 http://matplotlib.sourceforge.net/faq/howto_faq.html#automatically-make-room-for-tick-labels

That's great - is there anything similar for axis labels (I haven't
been using long tick labels - the problem I have is normal x and y
axis labels are cut off) - or will that example also work?

Thanks,

Robin

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] general matplotlib usage questions

2008-11-20 Thread Mauro Cavalcanti
Dear ALL,

In due time, I intend to compile as many suggestions and tips as
possible to eventually create a How-To list for the superb Basemap
module, like the very useful one which is on the Matplotlib home page.

HTH

Cheers,

2008/11/20 John Hunter [EMAIL PROTECTED]:
 On Thu, Nov 20, 2008 at 7:12 AM, Darren Dale [EMAIL PROTECTED] wrote:

 You can use the subplot_adjust button on the toolbar for some degree of
 customization. But in general, it can be a somewhat time consuming to get
 the layout just right. I think it would be difficult for mpl to determine
 what the appropriate axes position should be given a certain figure and text
 size.

 There is a recipe on the web site for automatically shifting the left
 side of the subplot over to make room for the ylabels

  
 http://matplotlib.sourceforge.net/faq/howto_faq.html#automatically-make-room-for-tick-labels

 It might be nice to make an option to handle the simple case
 automatically, to expand or shrink the subplots so the text fits w/o
 too much padding on any side.

 JDH

 -
 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=100url=/
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users




-- 
Dr. Mauro J. Cavalcanti
Ecoinformatics Studio
P.O. Box 46521, CEP 20551-970
Rio de Janeiro, RJ, BRASIL
E-mail: [EMAIL PROTECTED]
Web: http://studio.infobio.net
Linux Registered User #473524 * Ubuntu User #22717
Life is complex. It consists of real and imaginary parts.

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Hiding a subplot

2008-11-20 Thread Søren Nielsen
Hi,

I have a canvas with two subplot.. I want to be able to hide on of the
subplots by pushing a button and letting the remaining subplot fill the
entire canvas.

If I use the set_visible(True) parameter I correctly remove one of the
subplots.. but the remaining subplot does not fill the canvas.. Anyone have
an idea of how to do this?

Thanks,
Soren
-
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=100url=/___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Hiding a subplot

2008-11-20 Thread John Hunter
On Thu, Nov 20, 2008 at 8:06 AM, Søren Nielsen
[EMAIL PROTECTED] wrote:
 Hi,

 I have a canvas with two subplot.. I want to be able to hide on of the
 subplots by pushing a button and letting the remaining subplot fill the
 entire canvas.

 If I use the set_visible(True) parameter I correctly remove one of the
 subplots.. but the remaining subplot does not fill the canvas.. Anyone have
 an idea of how to do this?

You should be able to use the change_geometry method on the remaining subplot

  ax2.set_visible(False)
  ax1.change_geometry(1,1,1)
  fig.canvas.draw()

JDH

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Saving to a file in a specified directory (and creating said directory along the way)

2008-11-20 Thread Joshua Lippai
Hey,

I'm working on a project for which I would like to dump data into a
file in a specified directory (that doesn't necessarily exist yet). I
know matplotlib.mlab.save(fname, X) will only work if I want to save
data from an array/list to a file in the current working directory. Is
there an easy way using matplotlib to:

A) Save a file to a specified directory rather than the current
working directory
B) Create a directory I tell it to save to if it doesn;t already exist

Thanks in advance.

Josh

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Saving to a file in a specified directory (and creating said directory along the way)

2008-11-20 Thread John Hunter
On Thu, Nov 20, 2008 at 10:24 AM, Joshua Lippai [EMAIL PROTECTED] wrote:
 Hey,

 I'm working on a project for which I would like to dump data into a
 file in a specified directory (that doesn't necessarily exist yet). I
 know matplotlib.mlab.save(fname, X) will only work if I want to save
 data from an array/list to a file in the current working directory. Is
 there an easy way using matplotlib to:

 A) Save a file to a specified directory rather than the current
 working directory

Just specify the full path to the output dir:

  save('/path/to/my/data.dat')

or use the os modules built-in functions for cross-platform path handling:

  save(os.path.join(outdir, filename))

 B) Create a directory I tell it to save to if it doesn;t already exist

You can use os.mkdir.  mpl svn has a function cbook.mkdirs to
recursively make a directory path.

JDH

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Saving to a file in a specified directory (and creating said directory along the way)

2008-11-20 Thread Joshua Lippai
Ah, silly me. I forgot to notice I was using a path variable in the
string I was giving to mlab.save. Part A works just fine when I
account for that. Now that just leaves creating the directory. I like
the cbook.mkdirs implementation a lot better than the non-recursive
version in os... thanks for the tip!

Josh

On Thu, Nov 20, 2008 at 8:48 AM, John Hunter [EMAIL PROTECTED] wrote:
 On Thu, Nov 20, 2008 at 10:24 AM, Joshua Lippai [EMAIL PROTECTED] wrote:
 Hey,

 I'm working on a project for which I would like to dump data into a
 file in a specified directory (that doesn't necessarily exist yet). I
 know matplotlib.mlab.save(fname, X) will only work if I want to save
 data from an array/list to a file in the current working directory. Is
 there an easy way using matplotlib to:

 A) Save a file to a specified directory rather than the current
 working directory

 Just specify the full path to the output dir:

  save('/path/to/my/data.dat')

 or use the os modules built-in functions for cross-platform path handling:

  save(os.path.join(outdir, filename))

 B) Create a directory I tell it to save to if it doesn;t already exist

 You can use os.mkdir.  mpl svn has a function cbook.mkdirs to
 recursively make a directory path.

 JDH


-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Saving to a file in a specified directory (and creating said directory along the way)

2008-11-20 Thread Christopher Barker
Joshua Lippai wrote:
  Now that just leaves creating the directory. I like
 the cbook.mkdirs implementation a lot better than the non-recursive
 version in os... thanks for the tip!

why not os.makedirs() ?

-Chris

-- 
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR(206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115   (206) 526-6317   main reception

[EMAIL PROTECTED]

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] general matplotlib usage questions

2008-11-20 Thread Christopher Barker
Robin wrote:
 Now you point it out it is clear that that is what is causing it. I'm
 using python.org python on a Mac and it's not clear to me how best to
 install Qt - so at the moment Tk is the only working backend I have.

try wxPython -- it's easy to install and works well.

-Chris



-- 
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR(206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115   (206) 526-6317   main reception

[EMAIL PROTECTED]

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Saving to a file in a specified directory (and creating said directory along the way)

2008-11-20 Thread John Hunter
On Thu, Nov 20, 2008 at 11:22 AM, Christopher Barker
[EMAIL PROTECTED] wrote:
 Joshua Lippai wrote:
  Now that just leaves creating the directory. I like
 the cbook.mkdirs implementation a lot better than the non-recursive
 version in os... thanks for the tip!

 why not os.makedirs() ?

Wow, that one went right by me -- somehow missed its existence.
Thanks for the pointer...

JDH

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] general matplotlib usage questions

2008-11-20 Thread Mauro Cavalcanti
Dear Robin,

I do agree (although the Python gurus here highly recommend Qt
instead). wxPython is well documented and has *plenty* of exemples
(much of them truly useful).

I have been working hard to developing a scientific desktop
application which uses wxPython for its GUI frontend and
Matplotlib/Basemap for plotting maps and bar charts. Have learned a
few tricks (and the help of John Hunter and Jeff Whittaker is much
appreciated), which I will make available to all as soon as possible.

Regards,

2008/11/20 Christopher Barker [EMAIL PROTECTED]:
 Robin wrote:
 Now you point it out it is clear that that is what is causing it. I'm
 using python.org python on a Mac and it's not clear to me how best to
 install Qt - so at the moment Tk is the only working backend I have.

 try wxPython -- it's easy to install and works well.

 -Chris



 --
 Christopher Barker, Ph.D.
 Oceanographer

 Emergency Response Division
 NOAA/NOS/ORR(206) 526-6959   voice
 7600 Sand Point Way NE   (206) 526-6329   fax
 Seattle, WA  98115   (206) 526-6317   main reception

 [EMAIL PROTECTED]

 -
 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=100url=/
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users




-- 
Dr. Mauro J. Cavalcanti
Ecoinformatics Studio
P.O. Box 46521, CEP 20551-970
Rio de Janeiro, RJ, BRASIL
E-mail: [EMAIL PROTECTED]
Web: http://studio.infobio.net
Linux Registered User #473524 * Ubuntu User #22717
Life is complex. It consists of real and imaginary parts.

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Saving to a file in a specified directory (and creating said directory along the way)

2008-11-20 Thread Joshua Lippai
But given the vagueness of what I asked, you're right, os.makedirs was
a good suggestion too. Thanks. I think I need to sit down and spend
some quality time with the os module over Thanksgiving holiday...

Josh

On Thu, Nov 20, 2008 at 9:30 AM, Joshua Lippai [EMAIL PROTECTED] wrote:
 cbook.mkdirs includes a few if-then calls that only make the directory
 if it doesn't already exist (in fact it actually calls os.makedirs in
 the function), whereas os.makedirs raises an OSError if the folder I
 specified already exists. For my purposes, the cbook implementation is
 more convenient.

 Josh

 On Thu, Nov 20, 2008 at 9:22 AM, Christopher Barker
 [EMAIL PROTECTED] wrote:
 Joshua Lippai wrote:
  Now that just leaves creating the directory. I like
 the cbook.mkdirs implementation a lot better than the non-recursive
 version in os... thanks for the tip!

 why not os.makedirs() ?

 -Chris

 --
 Christopher Barker, Ph.D.
 Oceanographer

 Emergency Response Division
 NOAA/NOS/ORR(206) 526-6959   voice
 7600 Sand Point Way NE   (206) 526-6329   fax
 Seattle, WA  98115   (206) 526-6317   main reception

 [EMAIL PROTECTED]

 -
 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=100url=/
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users



-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] cbook.is_scalar('foo') is False

2008-11-20 Thread Eric Firing
Cyrille Rosset wrote:
 Hello,
 
 It seems to me there is a bug in matplotlib 0.98.3 (or at least a  
 change from previous version).
 
   matplotlib.cbook.is_scalar('foo')
 False
 
 I would expect this to be True (otherwise,  
 matplotlib.cbook.flatten(['foo']) enters an infinite recursive loop).

This has been fixed in svn:

In [1]:import matplotlib.cbook as cb

In [5]:list(cb.flatten(['foo']))
Out[5]:['foo']


See Revision 6128:

http://matplotlib.svn.sourceforge.net/viewvc/matplotlib/trunk/matplotlib/lib/matplotlib/cbook.py?view=log

 
 It used to be (0.98.0):
 return is_string_like(obj) or not iterable(obj)
 and now (0.98.3):
 return not is_string_like(obj) and not iterable(obj)
 
 If it is by purpose, could someone explain it to me ? I'll then have  
 to change my code accordingly.
 
 Thanks a lot in advance,
 Cyrille Rosset.
 
 
 -
 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=100url=/
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users


-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Save a plot background

2008-11-20 Thread Hrafnkell Pálsson


Jeff Whitaker wrote:
 
 Hrafnkell:
 
 Had some time this morning, so I used John's method to create a working
 Basemap example:
 
 import matplotlib
 matplotlib.use('Agg')
 from mpl_toolkits.basemap import Basemap
 import matplotlib.pyplot as plt
 
 # this example shows how to save a map background and
 # reuse it in another figure.
 
 # make sure we have all the same properties on all figs
 figprops = dict(figsize=(8,6), dpi=100, facecolor='white')
 
 # generate the first figure.
 fig1 = plt.figure(1,**figprops)
 ax1 = fig1.add_subplot(111)
 # create basemap instance, plot coastlines.
 map = Basemap(projection='moll',lon_0=0)
 map.drawcoastlines()
 map.drawmapboundary(fill_color='aqua')
 map.fillcontinents(color='coral',lake_color='aqua')
 fig1.canvas.draw()
 background = fig1.canvas.copy_from_bbox(fig1.bbox)
 fig1.savefig('figure1.png', dpi=100)
 
 
 # generate the second figure, re-using the background
 # from figure 1.
 fig2 = plt.figure(2,frameon=False,**figprops)
 ax2 = fig2.add_subplot(111, frameon=False, xticks=[], yticks=[])
 # restore previous background.
 fig2.canvas.restore_region(background)
 # draw parallels and meridians on existing background.
 map.drawparallels(range(-90,90,30))
 map.drawmeridians(range(-180,180,60))
 fig2.savefig('figure2.png', dpi=100)
 
 
 I've added this to the basemap examples directory as save_background.py
 
 HTH,
 
 -Jeff
 

There's still one snag.
Using your example I could restore the background.
But it turns out everything is plotted over the background; so if my
background consist only of the coastline and then I do a filled contour plot
after restoring it the coastline disappears under the filled contours (by
using the alpha keyword to contourf I could see the coastline beneath).

Had I plotted the coastline into the figure instead of restoring it this
would not have happened.

Is there any way of avoiding this?

Hrafnkell



-- 
View this message in context: 
http://www.nabble.com/Save-a-plot-background-tp20519596p20606641.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Save a plot background

2008-11-20 Thread Jeff Whitaker
Hrafnkell Pálsson wrote:
 Jeff Whitaker wrote:
   
 Hrafnkell:

 Had some time this morning, so I used John's method to create a working
 Basemap example:

 import matplotlib
 matplotlib.use('Agg')
 from mpl_toolkits.basemap import Basemap
 import matplotlib.pyplot as plt

 # this example shows how to save a map background and
 # reuse it in another figure.

 # make sure we have all the same properties on all figs
 figprops = dict(figsize=(8,6), dpi=100, facecolor='white')

 # generate the first figure.
 fig1 = plt.figure(1,**figprops)
 ax1 = fig1.add_subplot(111)
 # create basemap instance, plot coastlines.
 map = Basemap(projection='moll',lon_0=0)
 map.drawcoastlines()
 map.drawmapboundary(fill_color='aqua')
 map.fillcontinents(color='coral',lake_color='aqua')
 fig1.canvas.draw()
 background = fig1.canvas.copy_from_bbox(fig1.bbox)
 fig1.savefig('figure1.png', dpi=100)


 # generate the second figure, re-using the background
 # from figure 1.
 fig2 = plt.figure(2,frameon=False,**figprops)
 ax2 = fig2.add_subplot(111, frameon=False, xticks=[], yticks=[])
 # restore previous background.
 fig2.canvas.restore_region(background)
 # draw parallels and meridians on existing background.
 map.drawparallels(range(-90,90,30))
 map.drawmeridians(range(-180,180,60))
 fig2.savefig('figure2.png', dpi=100)


 I've added this to the basemap examples directory as save_background.py

 HTH,

 -Jeff

 

 There's still one snag.
 Using your example I could restore the background.
 But it turns out everything is plotted over the background; so if my
 background consist only of the coastline and then I do a filled contour plot
 after restoring it the coastline disappears under the filled contours (by
 using the alpha keyword to contourf I could see the coastline beneath).

 Had I plotted the coastline into the figure instead of restoring it this
 would not have happened.

 Is there any way of avoiding this?

 Hrafnkell



   

Hrafnkell:

I see your point, but I don't see any obvious solution.  Perhaps someone with 
more knowledge of matplotlib internals (John?) can answer.

-Jeff

-- 
Jeffrey S. Whitaker Phone  : (303)497-6313
Meteorologist   FAX: (303)497-6449
NOAA/OAR/PSD  R/PSD1Email  : [EMAIL PROTECTED]
325 BroadwayOffice : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web: http://tinyurl.com/5telg



-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] wx backup show figure (WAS: general matplotlib usage questions)

2008-11-20 Thread Robin
On Thu, Nov 20, 2008 at 5:22 PM, Christopher Barker
 try wxPython -- it's easy to install and works well.

Thanks - it does seem nicer (doesn't have the mouse over resizing)...

However I have one problem where a figure I create in a function
doesn't show up:
# this is how I create a figure in a function
In [20]: def test_func():
   : f = figure()
   : ax = f.add_subplot(111)
   : ax.plot([1,2,3,4],[1,2,3,4])
   : f.show()
   : return f
   :
In [21]: test_func()
Out[21]: matplotlib.figure.Figure object at 0x2168c8d0
# shows a blank (grey) canvas with no axes
In [23]: _21.show()
# ^^ does nothing
In [25]: gcf().show()
# ^^ does nothing
In [26]: f2 = figure(1)
# ^^ now it appears?

So what am I doing wrong? How can I programmatically display a figure
(ie without knowing the number in advance to do figure(n)?)

Cheers

Robin

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] memory leak

2008-11-20 Thread Benoît Zuber
Hi,
I have noticed a memory leak when using pylab.pcolor. Here is the code,
fa() and fb() do the same thing. The difference is the size of the array
which is passed to pcolor. With a large array pcolor leaks but not with a
small one.
Cheers,
Ben


import numpy as np
import matplotlib
matplotlib.use('Agg')
from matplotlib import pylab
def fa():
 This function leaks.

a = np.arange(1024**2)
a = a.reshape(1024,1024)
for i in range(1):
pylab.pcolor(a)
pylab.close()
def fb():
This function does not leak.

b = np.arange(1024)
b = b.reshape(32,32)
for i in range(1024):
pylab.pcolor(b)
pylab.close()


-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] wx backup show figure (WAS: general matplotlib usage questions)

2008-11-20 Thread John Hunter
On Thu, Nov 20, 2008 at 1:29 PM, Robin [EMAIL PROTECTED] wrote:
 On Thu, Nov 20, 2008 at 5:22 PM, Christopher Barker
 try wxPython -- it's easy to install and works well.

 Thanks - it does seem nicer (doesn't have the mouse over resizing)...

 However I have one problem where a figure I create in a function
 doesn't show up:
 # this is how I create a figure in a function

Are you running ipython in pylab mode?  See

  http://matplotlib.sourceforge.net/users/shell.html

and

  http://matplotlib.sourceforge.net/faq/howto_faq.html#use-show

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] wx backup show figure (WAS: general matplotlib usage questions)

2008-11-20 Thread John Hunter
On Thu, Nov 20, 2008 at 1:29 PM, Robin [EMAIL PROTECTED] wrote:
 On Thu, Nov 20, 2008 at 5:22 PM, Christopher Barker
 try wxPython -- it's easy to install and works well.

 Thanks - it does seem nicer (doesn't have the mouse over resizing)...

 However I have one problem where a figure I create in a function
 doesn't show up:
 # this is how I create a figure in a function
 In [20]: def test_func():
   : f = figure()
   : ax = f.add_subplot(111)
   : ax.plot([1,2,3,4],[1,2,3,4])
   : f.show()
   : return f
   :

One more thought -- if you are in pylab mode (so interactive is
turned on) if you are making your draw calls through the api, as you
are in this example, you will need to call draw after the plot
commands, eg

  ax.plot(something)
  f.canvas.draw()

This is explained in some detail in the shell page I pointed you to in
my last post.

JDH

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] plotting labels for each 'artist' in a basemap

2008-11-20 Thread Eric Bruning
I just saw a similar error when trying to plot some text; in my case,
basemap wasn't involved.

The full error dump:
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/text.py
in draw(self, renderer)
486
-- 487 for line, wh, x, y in info:
488 x = x + posx
489 y = y + posy

TypeError: CXX : Error creating object of type N2Py3IntE

My x data were times in seconds calculated relative to a reference
date, and reducing the gap cleared up my problem.

This thread:
http://markmail.org/message/zqfgrshmq3366mtz?q=Error+N2Py3IntE
suggests that the error is due to an overflow in the underlying numerics.

And ... this is where I reach the end of my expertise.

-Eric


On Thu, Nov 13, 2008 at 11:38 PM, John [H2O] [EMAIL PROTECTED] wrote:

 Hello, using matplotlib 0.98 with mpl_toolkit Basemap:

 I'm trying to create a plot with a series of ellipses over a map. I've
 followed the tutorial, and can create the same figure as shown here:
 http://matplotlib.sourceforge.net/users/screenshots.html#ellipses

 I can also create a series of ellipses over a map.

 Now I am trying to label each circle using the following snippet:
 for item in ells:
#ells is now a tuple in the form: (Ellipse, (x,y)) and (x,y) is the same
 as for the Ellipse
 e = item[0]
 xy = item[1]
 ax.add_artist(e)
 e.set_clip_box(ax.bbox)
 e.set_alpha(.7)
 pyplot.text(xy[0],xy[1],e.get_label())

 however, for some reason it fails. Can someone provide some ideas on what I
 am doing wrong? Also, is there more direct way to set the plots so that the
 labels are drawn?

 What is strange, is that it seems to work (at least debugging print
 statements after the loop are printed)... and I can move the text function
 out of the loop to label the 'last' ellipse...

 As it is it fails when savefig() or show() are called. The error is:
 TypeError: CXX : Error creating object of type N2Py3IntE

 THoughts?

 Thanks,
 john

 --
 View this message in context: 
 http://www.nabble.com/plotting-labels-for-each-%27artist%27-in-a-basemap-tp20494609p20494609.html
 Sent from the matplotlib - users mailing list archive at Nabble.com.


 -
 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=100url=/
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users


-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Qestion on Matplotlib GUI backends toolbars

2008-11-20 Thread Mauro Cavalcanti
Dear ALL,

Just a simple (?) question on Matplotlib GUI backends toolbars. The
Matplotlib examples include a nice sample of programmatically adding a
button to a backend toolbar, but I could not find out how to *remove*
one or more of the buttons from the default toolbar. Has it be
sub-classed? BTW, is there any way to access (from a program) the
methods bound to each toolbar button?

Thanks again for your attention (and patience, of course!)

With best regards,

-- 
Dr. Mauro J. Cavalcanti
Ecoinformatics Studio
P.O. Box 46521, CEP 20551-970
Rio de Janeiro, RJ, BRASIL
E-mail: [EMAIL PROTECTED]
Web: http://studio.infobio.net
Linux Registered User #473524 * Ubuntu User #22717
Life is complex. It consists of real and imaginary parts.

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] wx backup show figure (WAS: general matplotlib usage questions)

2008-11-20 Thread Robin
On Thu, Nov 20, 2008 at 8:14 PM, John Hunter [EMAIL PROTECTED] wrote:

 One more thought -- if you are in pylab mode (so interactive is
 turned on) if you are making your draw calls through the api, as you
 are in this example, you will need to call draw after the plot
 commands, eg

  ax.plot(something)
  f.canvas.draw()

Right, that's it - with wx I need to use canvas.draw... I was aware of
the need to use something, but with Tk was previously using
figure.show (possibly incorrectly having read the documentation)-
which doesn't have any effect in the wx case.

Thanks very much to everyone for the prompt responses today!

Cheer

Robin

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] A wxPython/Matplotlib/Basemap example

2008-11-20 Thread Christopher Barker
Mauro Cavalcanti wrote:
 Well, at least it should! It turns out that the map is correctly
 displayed, but it then fills almost the whole parent window,
 overlapping the left panel where the notebook with the listbox and the
 text control should appear! This illustrates one of the worst (in my
 opinion) things about wxPython, that is the handling of sizers to
 correctly place the widgets on an application window.

well, I love sizers -- but they do take a while to wrap your brain around.

Your difficulty probably stems from using a combination of wxGlade and 
handwritten code. Also, I don't know if wxGlade forces you to do it this 
way, but you have a whole bunch of stuff all nested in the Frame, when 
it would be better designed if each component was it's own class.

anyway, I think your problem is:

# - UNCOMMENT THE LINES BELOW TO DRAW THE MAP
#self.figure = Figure(figsize=(10,5))
#self.canvas = FigureCanvas(self, -1, self.figure)

you've given self as the parent of your FigureCanvas, when it needs to 
be parented by the Panel it goes on, which I think is self.PlotPanel, so 
the above line should be:

self.canvas = FigureCanvas(self.PlotPanel, -1, self.figure)



One thing wx does do wrong is let you put a control on one parent, 
then Add it to a sizer attached to a different parent -- it should 
probably raise an error when you do that.

-Chris


  --
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR(206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115   (206) 526-6317   main reception

[EMAIL PROTECTED]

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] colorbar tick labeling

2008-11-20 Thread Eric Firing
Michael Outhouse wrote:
 I was wondering if it is possible to change the colorbar tick labeling in 
 matplotlib from numeric to text. Essentially, I want the colorbar to be a 
 qualitative indicator; in the jet scheme, I'd like blue to be labeled 
 as 'unstable', green as 'neutral', and red as 'stable'. I can change it so I 
 just show the underlying values - colorbar(ticks = (-1, 0, 1)), but I cannot 
 change the the tick labels to text. Is there any way to accomplish this? 
 Thanks in advance for any help.

Your message came more than a month ago, but it looks like no one 
answered, so here is an answer:

with ipython -pylab:

imshow(2*rand(10,10) - 1, vmin=-1, vmax=1)
cbar = colorbar(ticks=[-1,0,1])
cbar.ax.set_yticklabels(['unstable', 'neutral', 'stable'])
draw()

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] small bug in slider_demo.py

2008-11-20 Thread Eric Firing
Matthias Michler wrote:
 Hello list,
 
 I observe a small bug in slider_demo.py, which lives in the svn 
 folder /examples/widgets and can be accessed via
 http://matplotlib.sourceforge.net/_static/plot_directive/mpl_examples/widgets/slider_demo.py
  .
 
 The hovercolor for grey needs to be a string instead of a float. I attached a 
 small patch for simplicity.

Thank you, I applied it.

Eric

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] A wxPython/Matplotlib/Basemap example

2008-11-20 Thread Stef Mientki
Mauro Cavalcanti wrote:
 Dear Chris,

 Thank your very much for your prompt reply.

 2008/11/20 Christopher Barker [EMAIL PROTECTED]:

   
 well, I love sizers -- but they do take a while to wrap your brain around.
 

 I love Python *and* wxPython/wxWidgets -- but having worked several
 years with RAD tools like Visual Basic and (much better) Borland
 Delphi, I find all available GUI builders for Python very limited (and
 sizers are among these perceived limitations).

   
I agree (coming from Delphi), they either don't work or are too limited.
For wxPython I developed a very simple method, which even has the F12 
function ;-)
  http://mientki.ruhosting.nl/data_www/pylab_works/pw_gui_support.htm
code can be downloaded here
  http://code.google.com/p/pylab-works/downloads/list

btw I would love to see your Basemap,
(but as I'm in the iddle of releasing a large project based on an old 
version of MatPlatLib,
so I don't dare to update),
are there any screenshots ?

thanks,
Stef Mientki



-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] poly_between and time series data

2008-11-20 Thread Shailesh Kochhar
Hello,

I am trying to fill the space below a curve where my x-axis is indexed 
by time. The matplotlib api documentation and the examples don't touch 
on this subject and I haven't had much luck trying a few different 
variations. Here's what I've tried so far, maybe someone can point out 
what I'm doing wrong.

import time
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

time_strings = [ list of times as strings ]
xs = [ date2num(time.strptime(string) for string in time_strings ]
ys = [ list of float values ]

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot_date(xs, ys)

xv, yv = mlab.poly_below(0, xs, ys)
ax.fill(xv, yv)


When I do this, I get a 'year out of range' error. If I try and fill the 
area before the call to ax.plot_date, The fill looks like a solid bar 
about the height of the max y-value.

From, looking at the posts on the mailing list it doesn't seem that I'm 
doing something terribly wrong, maybe I'm missing something subtle?

Thanks,
   - Shailesh

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] colorbar tick labeling

2008-11-20 Thread Scott Sinclair
2008/11/21 Eric Firing [EMAIL PROTECTED]:
 Michael Outhouse wrote:
 I was wondering if it is possible to change the colorbar tick labeling in
 matplotlib from numeric to text. Essentially, I want the colorbar to be a
 qualitative indicator; in the jet scheme, I'd like blue to be labeled
 as 'unstable', green as 'neutral', and red as 'stable'. I can change it so I
 just show the underlying values - colorbar(ticks = (-1, 0, 1)), but I cannot
 change the the tick labels to text. Is there any way to accomplish this?
 Thanks in advance for any help.

 Your message came more than a month ago, but it looks like no one
 answered, so here is an answer:

 with ipython -pylab:

 imshow(2*rand(10,10) - 1, vmin=-1, vmax=1)
 cbar = colorbar(ticks=[-1,0,1])
 cbar.ax.set_yticklabels(['unstable', 'neutral', 'stable'])
 draw()

Also see the example here
http://matplotlib.sourceforge.net/examples/pylab_examples/colorbar_tick_labelling_demo.html.

Cheers,
Scott

-
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=100url=/
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users