Re: [Matplotlib-users] cannot plot in loops with matplotlib 0.99. 0.98 works fine

2009-09-07 Thread tva

Thanks JJ, but unfortunately this is not the solution. draw() gives the same
result. - and I am running this as a script (running it from ipython shell).

Any clue?





Jae-Joon Lee wrote:
 
 I presume you're running that script in interactive shell?
 Try draw() instead of show().
 
 Regards,
 
 -JJ
 
 
 On Sun, Sep 6, 2009 at 3:06 PM, tvat...@brygge.dk wrote:

 Hi all

 with matplotlib 0.98.5.3 this script will draw new lines as the scrips is
 running:

 from pylab import *
 x = arange(0,2*pi,0.01)
 for i in arange(1,20):

        y=sin(x+i)
        plot(x,y)  # update the data
        show()


 with matplotlib 0.99, the exact same script runs to the end without
 plotting
 and then plots all the lines. This is just a trivial example but for some
 applications it is useful to monitor the evolution of curves as the
 script
 is running - allows me to update parameters if something diverges.
 Any idea why there is such a difference between 0.98.5.3 and 0.99 ??
 --
 View this message in context:
 http://www.nabble.com/cannot-plot-in-loops-with-matplotlib-0.99.-0.98-works-fine-tp25320454p25320454.html
 Sent from the matplotlib - users mailing list archive at Nabble.com.


 --
 Let Crystal Reports handle the reporting - Free Crystal Reports 2008
 30-Day
 trial. Simplify your report design, integration and deployment - and
 focus on
 what you do best, core application coding. Discover what's new with
 Crystal Reports now.  http://p.sf.net/sfu/bobj-july
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users

 
 --
 Let Crystal Reports handle the reporting - Free Crystal Reports 2008
 30-Day 
 trial. Simplify your report design, integration and deployment - and focus
 on 
 what you do best, core application coding. Discover what's new with 
 Crystal Reports now.  http://p.sf.net/sfu/bobj-july
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
 

-- 
View this message in context: 
http://www.nabble.com/cannot-plot-in-loops-with-matplotlib-0.99.-0.98-works-fine-tp25320454p25326025.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Re : slow rendering of 2K images using Animation_blit_tk.py - bis

2009-09-07 Thread Auré Gourrier
OK, thanks JJ, I just wanted to make sure I was not missing something. I guess 
I'll have to check how it goes once rebinned.
Cheers,
Auré





De : Jae-Joon Lee lee.j.j...@gmail.com
À : Auré Gourrier aurelien.gourr...@yahoo.fr
Cc : matplotlib-users@lists.sourceforge.net
Envoyé le : Lundi, 7 Septembre 2009, 4h11mn 29s
Objet : Re: [Matplotlib-users] slow rendering of 2K images using  
Animation_blit_tk.py - bis

There are a few ways to improve the speed, which, I guess, will give
you factor of a few speed up.
If you need more than that, I guess matplotlib is not suitable for your purpose.

* try a simple interpolation method, eg.  imshow(arr, interpolation=nearest)
* reduce the image size. Unless you have a monitor this large, you
loose the image quality anyhow.

In my machine (linux, xeon 2.6 GHz), it takes about ~0.8 s to display
2k x 2k image. 0.3 s for 1k x 1k.

Regards,

-JJ



On Fri, Sep 4, 2009 at 5:18 AM, Auré Gourrieraurelien.gourr...@yahoo.fr wrote:
 Dear all,

 I recently cried for help (see below) but sadly didn't get any answer...
 This problem is really a bottleneck for me and if I must find a solution...
 Can anyone PLEASE point me in the right direction ?

 I recently bumped into a problem while trying to display imshow images
 (2048x2048 pix) in a GUI based on TkAgg (matplotib0.91.2, python 2..4.4,
 numpy1.0.4).. In brief, building the image with imshow is Ok, but the call to
 show() or draw() takes about 1.2 s on my system (XP, 2.8Ghz, 2Go ram). After
 reading a lot of posts and trying out a few things, I turned to the
 Animation_blit_tk.py example and modified it accordingly (code attached
 below). In the end, the display is still not much faster using this method
 (still in the order of 1.2 s as indicated by the result below).
 Could any one tel me whether I'm doing something wrong ?

 As far as I understand, at least in my Tk GUI, the limiting step using the
 ImageTk.FigureCanvasTkAgg is the call to draw() or draw_artist(). I read
 some comments from John regarding TkAgg being slow in some cases but
 couldn't find a definite answer.

 Any hint would be much appreciated

 Cheers,

 Aure


 
 # For detailed comments on animation and the techniqes used here, see
 # the wiki entry http://www.scipy.org/Cookbook/Matplotlib/Animations

 import matplotlib
 matplotlib.use('TkAgg')

 import sys
 import pylab as p
 #import matplotlib.numerix as nx
 import time

 from FileUtils10 import fileHandling

 # for profiling
 tstart = time.time()
 tprevious = time.time()

 fnamelist = ['fname1','fname2','fname3']

 ax = p.subplot(111)
 canvas = ax.figure.canvas

 print 't1 ',time.time()-tprevious
 tprevious = time.time()

 # create the initial line
 dataarr = fileHandling(fnamelist[0]).readSpecial()
 #print dataarr.dtype=  numpy dtype uint16
 #dataarr = dataarr..astype('uint8')
 print 't2 ',time.time()-tprevious
 tprevious = time.time()

 image = p.imshow(dataarr, animated=True)
 print 't3 ',time.time()-tprevious
 tprevious = time.time()

 def run(*args):
 tprevious = time.time()
 background = canvas.copy_from_bbox(ax.bbox)
 print 't4 ',time.time()-tprevious
 tprevious = time.time()
 while 1:
 #print fnamelist[run.cnt]
 # restore the clean slate background
 canvas.restore_region(background)
 print 't5 ',time.time()-tprevious
 tprevious = time.time()
 # update the data
 dataarr = fileHandling(fnamelist[run.cnt]).readSpecial()
 print 't6 ',time.time()-tprevious
 tprevious = time.time()
 image.set_data(dataarr)
 print 't7 ',time.time()-tprevious
 tprevious = time.time()
 # just draw the animated artist
 ax.draw_artist(image)
 print 't8 ',time.time()-tprevious
 tprevious = time.time()
 # just redraw the axes rectangle
 canvas.blit(ax.bbox)
 print 't9 ',time.time()-tprevious
 tprevious = time.time()

 if fnamelist[run.cnt] == fnamelist[-1]:
 # print the timing info and quit
 print 'total time:' , time.time()-tstart
 print 'FPS:' , 1000./(time.time()-tstart)
 p.close('all')
 sys.exit()

 run.cnt += 1
 run.cnt = 0


 p.subplots_adjust(left=0.3, bottom=0.3) # check for flipy bugs
 p.grid() # to ensure proper background restore
 manager = p.get_current_fig_manager()
 manager.window.after(100, run)

 p.show()


 
 Results in:

 t1  0.85867575
 t2  0.032648499
 t3  1.3126376
 t4  0.0
 t5  0.0
 t6  0.0310001373291
 t7  0.0
 t8  1.1873624
 t9  0.016324249
 t5  0.0
 t6  0.046313354
 t7  0..0
 t8  1.17200016975
 t9  0.0149998664856
 t5  0.0
 t6  0.047000169754
 t7  0.0
 t8  1.21899986267
 t9  0.0
 t5  0.0
 t6  0.046038147
 t7  0.0
 t8  1.1713134
 t9  0.0
 t5  0.0
 t6  0.046313354
 t7  0.0
 t8  1.1873624
 t9  0.016324249
 total time: 8.75
 FPS: 114.285714286



 

Re: [Matplotlib-users] cannot plot in loops with matplotlib 0.99. 0.98 works fine

2009-09-07 Thread Michiel de Hoon
 Any idea why there is such a difference between
 0.98.5.3 and 0.99 ??

Drawing the whole figure once, when no further Python input is available, is 
much more efficient than drawing after each plot() command. For some figures, 
matplotlib 0.98.5.3 becomes extremely slow.

 Thanks JJ, but unfortunately this is not the solution.
 draw() gives the same result. - and I am running this
 as a script (running it from ipython shell).

The problem in your script is that the event loop never kicks in. 
Unfortunately, Python has no support for event loops in general, which makes 
this hard to solve. One option is to use raw_input() between calls to plot(), 
but then each time you have to hit enter to get the script to proceed.

--Michiel.


--- On Mon, 9/7/09, tva t...@brygge.dk wrote:

 From: tva t...@brygge.dk
 Subject: Re: [Matplotlib-users] cannot plot in loops with matplotlib 0.99. 
 0.98 works fine
 To: matplotlib-users@lists.sourceforge.net
 Date: Monday, September 7, 2009, 3:17 AM
 
 Thanks JJ, but unfortunately this is not the solution.
 draw() gives the same
 result. - and I am running this as a script (running it
 from ipython shell).
 
 Any clue?
 
 
 
 
 
 Jae-Joon Lee wrote:
  
  I presume you're running that script in interactive
 shell?
  Try draw() instead of show().
  
  Regards,
  
  -JJ
  
  
  On Sun, Sep 6, 2009 at 3:06 PM, tvat...@brygge.dk
 wrote:
 
  Hi all
 
  with matplotlib 0.98.5.3 this script will draw new
 lines as the scrips is
  running:
 
  from pylab import *
  x = arange(0,2*pi,0.01)
  for i in arange(1,20):
 
         y=sin(x+i)
         plot(x,y)  # update the data
         show()
 
 
  with matplotlib 0.99, the exact same script runs
 to the end without
  plotting
  and then plots all the lines. This is just a
 trivial example but for some
  applications it is useful to monitor the evolution
 of curves as the
  script
  is running - allows me to update parameters if
 something diverges.
  Any idea why there is such a difference between
 0.98.5.3 and 0.99 ??
  --
  View this message in context:
  http://www.nabble.com/cannot-plot-in-loops-with-matplotlib-0.99.-0.98-works-fine-tp25320454p25320454.html
  Sent from the matplotlib - users mailing list
 archive at Nabble.com.
 
 
 
 --
  Let Crystal Reports handle the reporting - Free
 Crystal Reports 2008
  30-Day
  trial. Simplify your report design, integration
 and deployment - and
  focus on
  what you do best, core application coding.
 Discover what's new with
  Crystal Reports now.  http://p.sf.net/sfu/bobj-july
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
  
 
 --
  Let Crystal Reports handle the reporting - Free
 Crystal Reports 2008
  30-Day 
  trial. Simplify your report design, integration and
 deployment - and focus
  on 
  what you do best, core application coding. Discover
 what's new with 
  Crystal Reports now.  http://p.sf.net/sfu/bobj-july
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
  
  
 
 -- 
 View this message in context: 
 http://www.nabble.com/cannot-plot-in-loops-with-matplotlib-0.99.-0.98-works-fine-tp25320454p25326025.html
 Sent from the matplotlib - users mailing list archive at
 Nabble.com.
 
 
 --
 Let Crystal Reports handle the reporting - Free Crystal
 Reports 2008 30-Day 
 trial. Simplify your report design, integration and
 deployment - and focus on 
 what you do best, core application coding. Discover what's
 new with 
 Crystal Reports now.  http://p.sf.net/sfu/bobj-july
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 


  

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] cannot plot in loops with matplotlib 0.99. 0.98 works fine

2009-09-07 Thread tva

Hi Michiel

thanks, but does that explain why the script works smoothly in 0.98.6 and
earlier versions?
Plotting all the curves at the end of the script is certainly possible, but
it is a severe reduction of the functionallity. given the fact that it works
so well in earlier versions of matplotlib, it seems like a bug in
matplotlib...? 




Michiel de Hoon wrote:
 
 Any idea why there is such a difference between
 0.98.5.3 and 0.99 ??
 
 Drawing the whole figure once, when no further Python input is available,
 is much more efficient than drawing after each plot() command. For some
 figures, matplotlib 0.98.5.3 becomes extremely slow.
 
 Thanks JJ, but unfortunately this is not the solution.
 draw() gives the same result. - and I am running this
 as a script (running it from ipython shell).
 
 The problem in your script is that the event loop never kicks in.
 Unfortunately, Python has no support for event loops in general, which
 makes this hard to solve. One option is to use raw_input() between calls
 to plot(), but then each time you have to hit enter to get the script to
 proceed.
 
 --Michiel.
 
 
 --- On Mon, 9/7/09, tva t...@brygge.dk wrote:
 
 From: tva t...@brygge.dk
 Subject: Re: [Matplotlib-users] cannot plot in loops with matplotlib
 0.99. 0.98 works fine
 To: matplotlib-users@lists.sourceforge.net
 Date: Monday, September 7, 2009, 3:17 AM
 
 Thanks JJ, but unfortunately this is not the solution.
 draw() gives the same
 result. - and I am running this as a script (running it
 from ipython shell).
 
 Any clue?
 
 
 
 
 
 Jae-Joon Lee wrote:
  
  I presume you're running that script in interactive
 shell?
  Try draw() instead of show().
  
  Regards,
  
  -JJ
  
  
  On Sun, Sep 6, 2009 at 3:06 PM, tvat...@brygge.dk
 wrote:
 
  Hi all
 
  with matplotlib 0.98.5.3 this script will draw new
 lines as the scrips is
  running:
 
  from pylab import *
  x = arange(0,2*pi,0.01)
  for i in arange(1,20):
 
         y=sin(x+i)
         plot(x,y)  # update the data
         show()
 
 
  with matplotlib 0.99, the exact same script runs
 to the end without
  plotting
  and then plots all the lines. This is just a
 trivial example but for some
  applications it is useful to monitor the evolution
 of curves as the
  script
  is running - allows me to update parameters if
 something diverges.
  Any idea why there is such a difference between
 0.98.5.3 and 0.99 ??
  --
  View this message in context:
 
 http://www.nabble.com/cannot-plot-in-loops-with-matplotlib-0.99.-0.98-works-fine-tp25320454p25320454.html
  Sent from the matplotlib - users mailing list
 archive at Nabble.com.
 
 
 
 --
  Let Crystal Reports handle the reporting - Free
 Crystal Reports 2008
  30-Day
  trial. Simplify your report design, integration
 and deployment - and
  focus on
  what you do best, core application coding.
 Discover what's new with
  Crystal Reports now.  http://p.sf.net/sfu/bobj-july
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
  
 
 --
  Let Crystal Reports handle the reporting - Free
 Crystal Reports 2008
  30-Day 
  trial. Simplify your report design, integration and
 deployment - and focus
  on 
  what you do best, core application coding. Discover
 what's new with 
  Crystal Reports now.  http://p.sf.net/sfu/bobj-july
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
  
  
 
 -- 
 View this message in context:
 http://www.nabble.com/cannot-plot-in-loops-with-matplotlib-0.99.-0.98-works-fine-tp25320454p25326025.html
 Sent from the matplotlib - users mailing list archive at
 Nabble.com.
 
 
 --
 Let Crystal Reports handle the reporting - Free Crystal
 Reports 2008 30-Day 
 trial. Simplify your report design, integration and
 deployment - and focus on 
 what you do best, core application coding. Discover what's
 new with 
 Crystal Reports now.  http://p.sf.net/sfu/bobj-july
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
 
 
   
 
 --
 Let Crystal Reports handle the reporting - Free Crystal Reports 2008
 30-Day 
 trial. Simplify your report design, integration and deployment - and focus
 on 
 what you do best, core application coding. Discover what's new with 
 Crystal Reports now.  http://p.sf.net/sfu/bobj-july
 ___
 Matplotlib-users mailing list
 

[Matplotlib-users] Fetching a data slab with NetCDFFile

2009-09-07 Thread Arthur M. Greene
Hi All,

The problem is not with fetching the data slice itself, but finding the 
correct indices to specify, particularly with the time dimension. The 
below examples refer to a remote dataset that I can open and slice using 
indices, as in

slice = remoteobj.variables['tas'][:120,20:40,30:50].

However, I have problems when trying to use the syntax in plotsst.py or 
pnganim.py (from the examples) to find time indices:

In [107]: from datetime import datetime as dt
In [108]: date0 = dt(1951,1,1,0)
In [110]: print date0
1951-01-01 00:00:00

In [125]: timedata = remoteobj.variables['time']
In [126]: nt0 = date2index(date0,timedata)
---
AssertionErrorTraceback (most recent call last)

/home/amg/work/nhmm/ipython console in module()

/usr/local/cdat/trunk/lib/python2.5/site-packages/mpl_toolkits/basemap/__init__.pyc
 

in date2index(dates, nctime, calendar)
3924 Returns an index or a sequence of indices.
3925 
- 3926 return netcdftime.date2index(dates, nctime, calendar=None)
3927
3928 def maskoceans(lonsin,latsin,datain,inlands=False):

/usr/local/cdat/trunk/lib/python2.5/site-packages/mpl_toolkits/basemap/netcdftime.pyc
 

in date2index(dates, nctime, calendar)
 986
 987 # Perform check again.
-- 988 _check_index(index, dates, nctime, calendar)
 989
 990 # convert numpy scalars or single element arrays to python
ints.

/usr/local/cdat/trunk/lib/python2.5/site-packages/mpl_toolkits/basemap/netcdftime.pyc
 

in _check_index(indices, dates, nctime, calendar)
 941 for n,i in enumerate(indices):
 942 t[n] = nctime[i]
-- 943 assert numpy.all( num2date(t, nctime.units, calendar) == dates)
 944
 945

AssertionError:

-

It turns out that date0 corresponds best to index 1080:

In [139]: remoteobj.variables['time'][1080]
Out[139]: 32865.5

In [141]: num2date(32865.5,timedata.units,timedata.calendar)
Out[141]: 1951-01-16 12:00:00

This isn't the _exact_ date and time I had specified, but

In [142]: date0 = dt(1951,01,16,12,00,00)
In [143]: print date0
1951-01-16 12:00:00

In [144]: date2index(date0,timedata,timedata.calendar)

produces the same AssertionError. Where is the problem?

What I would _like_ to do is to issue a simple call using coordinates 
rather than the indices, of the form:

slice = variable[date0:date1,[plev],lat0:lat1,lon0:lon1],

or similar, preferably without writing a whole module just to find the 
correct indices. I need to fetch similar slices from a group of models, 
having time axes that may each be defined slightly differently -- 
different calendars, time point set at a different day of the month, 
etc. (It's monthly data and I'm specifying only monthly bounds, even 
though the calendar may be defined as days since 1860...) I need to 
automate the process so I get back the correct slab regardless.

Suggestions appreciated!

Thx,

Arthur


*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*
Arthur M. Greene, Ph.D.
The International Research Institute for Climate and Society (IRI)
The Earth Institute, Columbia University, Lamont Campus

amg at iri dot columbia dot edu | http://iri.columbia.edu
*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*


--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] cannot plot in loops with matplotlib 0.99. 0.98 works fine

2009-09-07 Thread tva

Problem solved. The backend was set to Qt4Agg. Once set to TkAgg everything
works.
I don't get it but it works..






tva wrote:
 
 Hi Michiel
 
 thanks, but does that explain why the script works smoothly in 0.98.6 and
 earlier versions?
 Plotting all the curves at the end of the script is certainly possible,
 but it is a severe reduction of the functionallity. given the fact that it
 works so well in earlier versions of matplotlib, it seems like a bug in
 matplotlib...? 
 
 
 
 
 Michiel de Hoon wrote:
 
 Any idea why there is such a difference between
 0.98.5.3 and 0.99 ??
 
 Drawing the whole figure once, when no further Python input is available,
 is much more efficient than drawing after each plot() command. For some
 figures, matplotlib 0.98.5.3 becomes extremely slow.
 
 Thanks JJ, but unfortunately this is not the solution.
 draw() gives the same result. - and I am running this
 as a script (running it from ipython shell).
 
 The problem in your script is that the event loop never kicks in.
 Unfortunately, Python has no support for event loops in general, which
 makes this hard to solve. One option is to use raw_input() between calls
 to plot(), but then each time you have to hit enter to get the script
 to proceed.
 
 --Michiel.
 
 
 --- On Mon, 9/7/09, tva t...@brygge.dk wrote:
 
 From: tva t...@brygge.dk
 Subject: Re: [Matplotlib-users] cannot plot in loops with matplotlib
 0.99. 0.98 works fine
 To: matplotlib-users@lists.sourceforge.net
 Date: Monday, September 7, 2009, 3:17 AM
 
 Thanks JJ, but unfortunately this is not the solution.
 draw() gives the same
 result. - and I am running this as a script (running it
 from ipython shell).
 
 Any clue?
 
 
 
 
 
 Jae-Joon Lee wrote:
  
  I presume you're running that script in interactive
 shell?
  Try draw() instead of show().
  
  Regards,
  
  -JJ
  
  
  On Sun, Sep 6, 2009 at 3:06 PM, tvat...@brygge.dk
 wrote:
 
  Hi all
 
  with matplotlib 0.98.5.3 this script will draw new
 lines as the scrips is
  running:
 
  from pylab import *
  x = arange(0,2*pi,0.01)
  for i in arange(1,20):
 
         y=sin(x+i)
         plot(x,y)  # update the data
         show()
 
 
  with matplotlib 0.99, the exact same script runs
 to the end without
  plotting
  and then plots all the lines. This is just a
 trivial example but for some
  applications it is useful to monitor the evolution
 of curves as the
  script
  is running - allows me to update parameters if
 something diverges.
  Any idea why there is such a difference between
 0.98.5.3 and 0.99 ??
  --
  View this message in context:
 
 http://www.nabble.com/cannot-plot-in-loops-with-matplotlib-0.99.-0.98-works-fine-tp25320454p25320454.html
  Sent from the matplotlib - users mailing list
 archive at Nabble.com.
 
 
 
 --
  Let Crystal Reports handle the reporting - Free
 Crystal Reports 2008
  30-Day
  trial. Simplify your report design, integration
 and deployment - and
  focus on
  what you do best, core application coding.
 Discover what's new with
  Crystal Reports now.  http://p.sf.net/sfu/bobj-july
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
  
 
 --
  Let Crystal Reports handle the reporting - Free
 Crystal Reports 2008
  30-Day 
  trial. Simplify your report design, integration and
 deployment - and focus
  on 
  what you do best, core application coding. Discover
 what's new with 
  Crystal Reports now.  http://p.sf.net/sfu/bobj-july
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
  
  
 
 -- 
 View this message in context:
 http://www.nabble.com/cannot-plot-in-loops-with-matplotlib-0.99.-0.98-works-fine-tp25320454p25326025.html
 Sent from the matplotlib - users mailing list archive at
 Nabble.com.
 
 
 --
 Let Crystal Reports handle the reporting - Free Crystal
 Reports 2008 30-Day 
 trial. Simplify your report design, integration and
 deployment - and focus on 
 what you do best, core application coding. Discover what's
 new with 
 Crystal Reports now.  http://p.sf.net/sfu/bobj-july
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
 
 
   
 
 --
 Let Crystal Reports handle the reporting - Free Crystal Reports 2008
 30-Day 
 trial. Simplify your report design, integration and deployment - and
 focus on 
 what you do best, core application coding. Discover what's new with 

[Matplotlib-users] grid on log-plots

2009-09-07 Thread jihi
Hi,

can anybody tell me how to get gridlines in a logarithmic plot?

i tried eg.:
loglog([1,10,100], [1,10,100])
grid(True)

but neither the grid is drawn, nor an error occur. When i make a linear 
plot, grid(True) works fine and draws the grid.

(win32, python 2.6, matplotlib 0.99)

Thanks

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


[Matplotlib-users] Ploting Date

2009-09-07 Thread Javier Olaechea
Oi, I'm having trouble ploting some values vs date with matplotlib.

I get the data from an SQL server using the _mssql module

after the query I tried populating the list using:

[code]
xls = []
yls = []

for row in conn:
xls.append(row['Ia'])
yls.append(row['tiempo'])
[/code]

The row['tiempo'] is datetime in the SQL table so I get yls filled
with datetime objects

At first I tried displaying it in an MMDDhhmm format using
[code]
temp = row['tiempo']
temp = str(temp.year) + '-' + str(temp.month) + '-' + str(temp.hour)
+'-' + str(temp.minute)
temp = int(temp)
yls.append(temp)
[/code]

but after seeing that matplotlib by default uses an exponential
notation y then realized that the scale would be off.
If I use date2num() it displays numbers not dates.

Basically I would like to plot the data against dates, with the
ability to autoscale from a minutes view to a month view at least. The
data set is failry large, at least 1 year of data from 5 minutes apart
measurements.

Any pointers in the right direction? Can I plot dates without
converting them to a number? If not could the numbers be linked to
back to the date and the date be displayed in the axis instead of the
numbers?

Thanks for your time.

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Segmentation fault with EPS output on matplotlib =0.98.5.2

2009-09-07 Thread Ewald Zietsman
I'm using 'xpdf' now, I think it must be ghostscript acting up. I only need
eps output infrequently so I'll stick with this workaround for the moment.

On Mon, Sep 7, 2009 at 4:28 AM, Jae-Joon Lee lee.j.j...@gmail.com wrote:

 I cannot reproduce this error.
 And I'm not sure if this is a bug in matplotlib or ghostscript.
 You may try to use different distiller.

 pl.rc('ps', usedistiller=xpdf)

 In my machine, both ghostscript and xpdf option works fine.
 But my gs version is different than yours

 GPL Ghostscript 8.61 (2007-11-21)

 If the xpdf option woks, I think it is more likely that this is a bug in
 gs.

 Regards,

 -JJ


 On Wed, Sep 2, 2009 at 9:22 AM, Ewald Zietsmanewald.ziets...@gmail.com
 wrote:
  Hi All,
 
  I'm trying to make a simple errorbar plot which gets saved to an EPS
 file. I
  paste the code below. For some weird reason, the savefig line causes a
  segmentation fault in ghostscript. when I use (in this case, on my
 computer)
  206 points or more. It doesn't happen if I comment the pl.rc('text',
  usetex=True) line out nor does it happen if I comment the pl.savefig
 line
  out. This happens in matplotlib 0.99 and 0.98.5.2. Any help will be
 greatly
  appreciated.
 
 
  Regards,
 
  Ewald Zietsman
 
  #test.py
 
  import matplotlib.pyplot as pl
  import numpy as np
 
  pl.rc('text', usetex=True)
  pl.rc('font', family='serif')
 
  N = 206
  x1 = np.linspace(-10,10,N)
  e1 = np.random.randn(N)
 
  pl.errorbar(x1, x1, yerr=e1, fmt='k.')
  pl.savefig('test.eps')
  pl.show()
 
 
  The error message:
 
   python test.py
  Segmentation fault
  Traceback (most recent call last):
File test.py, line 16, in module
  pl.savefig('test.eps')
File /usr/lib/python2.5/site-packages/matplotlib/pyplot.py, line 345,
 in
  savefig
  return fig.savefig(*args, **kwargs)
File /usr/lib/python2.5/site-packages/matplotlib/figure.py, line 990,
 in
  savefig
  self.canvas.print_figure(*args, **kwargs)
File /usr/lib/python2.5/site-packages/matplotlib/backend_bases.py,
 line
  1419, in print_figure
  **kwargs)
File /usr/lib/python2.5/site-packages/matplotlib/backend_bases.py,
 line
  1308, in print_eps
  return ps.print_eps(*args, **kwargs)
File
 /usr/lib/python2.5/site-packages/matplotlib/backends/backend_ps.py,
  line 869, in print_eps
  return self._print_ps(outfile, 'eps', *args, **kwargs)
File
 /usr/lib/python2.5/site-packages/matplotlib/backends/backend_ps.py,
  line 892, in _print_ps
  orientation, isLandscape, papertype)
File
 /usr/lib/python2.5/site-packages/matplotlib/backends/backend_ps.py,
  line 1148, in _print_figure_tex
  else: gs_distill(tmpfile, isEPSF, ptype=papertype, bbox=bbox)
File
 /usr/lib/python2.5/site-packages/matplotlib/backends/backend_ps.py,
  line 1268, in gs_distill
  your image.\nHere is the full report generated by ghostscript:\n\n' +
  fh.read())
  RuntimeError: ghostscript was not able to process your image.
  Here is the full report generated by ghostscript:
 
  GPL Ghostscript 8.63 (2008-08-01)
  Copyright (C) 2008 Artifex Software, Inc.  All rights reserved.
  This software comes with NO WARRANTY: see the file PUBLIC for details.
  Loading CenturySchL-Roma font from
  /var/lib/defoma/gs.d/dirs/fonts/c059013l.pfb... 3423696 1832182 6023256
  4166010 1 done.
 
 
 
 --
  Let Crystal Reports handle the reporting - Free Crystal Reports 2008
 30-Day
  trial. Simplify your report design, integration and deployment - and
 focus
  on
  what you do best, core application coding. Discover what's new with
  Crystal Reports now.  http://p.sf.net/sfu/bobj-july
  ___
  Matplotlib-users mailing list
  Matplotlib-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/matplotlib-users
 
 

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] grid on log-plots

2009-09-07 Thread Sebastian Busch
jihi wrote:
 ... can anybody tell me how to get gridlines in a logarithmic plot? ...
from matplotlib.pyplot import *

plot([1,10,100],[1,10,100])
grid()

yscale('log')
xscale('log')

works here.

best,
sebastian.



signature.asc
Description: OpenPGP digital signature
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] cannot plot in loops with matplotlib 0.99. 0.98 works fine

2009-09-07 Thread Jae-Joon Lee
On Mon, Sep 7, 2009 at 1:02 PM, tvat...@brygge.dk wrote:

 Problem solved. The backend was set to Qt4Agg. Once set to TkAgg everything
 works.
 I don't get it but it works..




I think an explicit call of draw() in the interactive mode (e.g. with
ipython -pylab) should update the figure canvas immediately. And this
is the behavior I currently observe with Gtk and Wx backend. If the
Qt4 backend behaves differently, I guess this is a bug. I don't have
the qt4 backend installed, and I hope other developers take  a look.

-JJ

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Re: [Matplotlib-users] Fetching a data slab with NetCDFFile

2009-09-07 Thread David Huard
Arthur,

I wrote the date2index function and I think what you are seeing is a bug
that I fixed a couple of months ago. By using the latest version of
netcdf4-python, not only should this bug disappear, but you'll also find
that date2index now supports different selection methods: 'exact', 'before',
'after', 'nearest', that should help with your use case.

If this does not fix the problem you are seeing, I'd appreciate having a
copy of the file and code to reproduce the problem and find a solution.

HTH,

David Huard



On Mon, Sep 7, 2009 at 9:27 AM, Arthur M. Greene a...@iri.columbia.eduwrote:

 Hi All,

 The problem is not with fetching the data slice itself, but finding the
 correct indices to specify, particularly with the time dimension. The
 below examples refer to a remote dataset that I can open and slice using
 indices, as in

 slice = remoteobj.variables['tas'][:120,20:40,30:50].

 However, I have problems when trying to use the syntax in plotsst.py or
 pnganim.py (from the examples) to find time indices:

 In [107]: from datetime import datetime as dt
 In [108]: date0 = dt(1951,1,1,0)
 In [110]: print date0
 1951-01-01 00:00:00

 In [125]: timedata = remoteobj.variables['time']
 In [126]: nt0 = date2index(date0,timedata)
 ---
 AssertionErrorTraceback (most recent call last)

 /home/amg/work/nhmm/ipython console in module()


 /usr/local/cdat/trunk/lib/python2.5/site-packages/mpl_toolkits/basemap/__init__.pyc

 in date2index(dates, nctime, calendar)
3924 Returns an index or a sequence of indices.
3925 
 - 3926 return netcdftime.date2index(dates, nctime, calendar=None)
3927
3928 def maskoceans(lonsin,latsin,datain,inlands=False):


 /usr/local/cdat/trunk/lib/python2.5/site-packages/mpl_toolkits/basemap/netcdftime.pyc

 in date2index(dates, nctime, calendar)
 986
 987 # Perform check again.
 -- 988 _check_index(index, dates, nctime, calendar)
 989
 990 # convert numpy scalars or single element arrays to python
 ints.


 /usr/local/cdat/trunk/lib/python2.5/site-packages/mpl_toolkits/basemap/netcdftime.pyc

 in _check_index(indices, dates, nctime, calendar)
 941 for n,i in enumerate(indices):
 942 t[n] = nctime[i]
 -- 943 assert numpy.all( num2date(t, nctime.units, calendar) == dates)
 944
 945

 AssertionError:

 -

 It turns out that date0 corresponds best to index 1080:

 In [139]: remoteobj.variables['time'][1080]
 Out[139]: 32865.5

 In [141]: num2date(32865.5,timedata.units,timedata.calendar)
 Out[141]: 1951-01-16 12:00:00

 This isn't the _exact_ date and time I had specified, but

 In [142]: date0 = dt(1951,01,16,12,00,00)
 In [143]: print date0
 1951-01-16 12:00:00

 In [144]: date2index(date0,timedata,timedata.calendar)

 produces the same AssertionError. Where is the problem?

 What I would _like_ to do is to issue a simple call using coordinates
 rather than the indices, of the form:

 slice = variable[date0:date1,[plev],lat0:lat1,lon0:lon1],

 or similar, preferably without writing a whole module just to find the
 correct indices. I need to fetch similar slices from a group of models,
 having time axes that may each be defined slightly differently --
 different calendars, time point set at a different day of the month,
 etc. (It's monthly data and I'm specifying only monthly bounds, even
 though the calendar may be defined as days since 1860...) I need to
 automate the process so I get back the correct slab regardless.

 Suggestions appreciated!

 Thx,

 Arthur


 *^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*
 Arthur M. Greene, Ph.D.
 The International Research Institute for Climate and Society (IRI)
 The Earth Institute, Columbia University, Lamont Campus

 amg at iri dot columbia dot edu | http://iri.columbia.edu
 *^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*^*~*



 --
 Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
 trial. Simplify your report design, integration and deployment - and focus
 on
 what you do best, core application coding. Discover what's new with
 Crystal Reports now.  http://p.sf.net/sfu/bobj-july
 ___
 Matplotlib-users mailing list
 Matplotlib-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july___
Matplotlib-users