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