On 12/20/2011 10:48 AM, Brad Malone wrote:
> Tony,
>
> Thanks for the pcolormesh suggestion! It is quite a bit faster than
> pcolor for me (maybe 50-100x faster)!

There is also the Axes.pcolorfast() method.  It has no pylab wrapper, 
and it is fussier than the others about its input arguments, but it uses 
the fastest method that the input grid permits.  In your case it would 
be the speed of imshow, which is faster than pcolormesh.

http://matplotlib.sourceforge.net/api/axes_api.html#matplotlib.axes.Axes.pcolorfast

Note that like pcolor and pcolormesh its grid is based on the 
specification of the boundaries, not the centers, but unlike pcolormesh 
and pcolor it will not automatically chop off a row and a column of the 
2-D color array to be plotted if you give it a grid with the same 
dimensions as the color array.

Eric

>
> Best,
> Brad
>
> On Tue, Dec 20, 2011 at 10:10 AM, Tony Yu <tsy...@gmail.com
> <mailto:tsy...@gmail.com>> wrote:
>
>
>
>     On Tue, Dec 20, 2011 at 9:22 AM, Brad Malone <brad.mal...@gmail.com
>     <mailto:brad.mal...@gmail.com>> wrote:
>
>         HI Paul,
>
>         Thanks. I didn't realize it was that simple (appears that doing
>         this essentially plots everything against integers in x and y).
>         This will be a good backup plan if I can't get pcolor to work,
>         although as you say, I'll have to fiddle around some with the
>         axis formatters and such I suppose to get a good final plot out
>         of this.
>
>         Best,
>         Brad
>
>         On Tue, Dec 20, 2011 at 12:12 AM, Paul Ivanov
>         <pivanov...@gmail.com <mailto:pivanov...@gmail.com>> wrote:
>
>             Hey again, Brad,
>
>             Brad Malone, on 2011-12-19 23:44,  wrote:
>              > Hi, I am plotting a grid with pcolor. Below I've got a
>             1000x1000 grid.
>              >
>              > xi=linspace(-0.1,x[-1]+2,1000)
>              > > yi=linspace(-0.1,maxfreq+10,1000)
>              > > print 'Calling griddata...'
>              > > zi=griddata(x,y,z,xi,yi,interp='nn')
>              > > plt.pcolor(xi,yi,zi,cmap=plt.cm.hot)
>             ...
>              > How could I modify my above data (which is in xi,yi,and
>             zi) to
>              > work with imshow (which seems to take 1 argument for data).
>
>             Try either:
>
>               plt.matshow(zi,cmap=plt.cm.hot)
>
>             or
>
>               plt.imshow(zi,cmap=plt.cm.hot)
>
>             The first should be the quickest - it doesn't do any
>             fancy interpolation, and actually just passes some arguments to
>             the second. Using imshow directly, however, allows you to set a
>             different type of interpolation, should you desire it. If
>             you want xi and yi to be accurately reflect in the plot, you
>             might have to play around with changing the axis formatters
>             (though there might be an easier way of doing that, which
>             escapes
>             me right now)
>
>             best,
>             --
>             Paul Ivanov
>
>
>     You may also want to try:
>
>     plt.pcolormesh(xi,yi,zi,cmap=plt.cm.hot)
>
>     If I remember correctly, pcolormesh is faster but a bit more
>     restrictive. (I think it's slower than matshow and imshow).
>
>     -Tony
>
>     P.S. I never knew about matshow; thanks Paul!
>
>
>
>
> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev
>
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to