[Matplotlib-users] matplotlib slow for rendering

Hi matplotlib'ers!
while the end result in matplotlib is starting to "get there", the speed is
not yet where it has to be to be useful IMO. I hereby post a little challenge
for the matplotlib developers;

get the actual plotting time (from the first plot command until show is done)
on the below dataset down to less than a second,(including the quiver
command in the plot.py file).

download the 3 files here (ca 600kb in total)


execfile('plot.py') to plot the dataset (works for me with cvs as of today).
the first part of the file is just some convenience funcs for loading
the data. the plotting happen near the end.

this is a moderately sized grid, 433x560 cells (those of you into
oceanography may recognize the area). what I observe on my pentium
2.54ghz linux box:

-after "data ok" on screen, it takes ca15s to render. pygist uses < 0.5s
-zoom operations take ca 5s. pygist is "instant".
-you don't want to wait for an additional quiver layer. it must take
minutes to finish. pygist is instant. with quiver, also zooming is
equally slow, the ui freeze for ages.
-often one wants to add contours from other fields on top of this, in
pygist this adds no
visible delay, matplotlib easily doubles the rendering time.

typical usage for me is to load many such datasets, and do a lot of
zoom in/out/pan to various features, modify colors/levels, add
velocity vectors etc. currently this is quite
painful in matplotlib, as one zoom operation on realistic datasets
easily takes 10 seconds on a multi ghz machine. pygist is very fast,
even on a 400mhz laptop, memory usage is also a lot lower.

so, I think matplotlib is a great effort, and shows a lot of promise, but
for realistic use, it is (at least for me) still far too slow!



On 12/1/05, Charlie Moad <cwmoad@...149...> wrote:

     It would help if you were more specific. Are you referring to
animation or static images? I can generate a million point scatter
plot in under a minute, and I would consider this pretty good for a
general purpose plotting package.