Hi Jianbao,

First some context: at the company I work for, we've been using
matplotlib to do much of what you want to do for the past 4 years. We
have created our own application for plotting, interrogating, and
manipulating time-series data coming from both simulations and
measurements, although from a completely different domain (in our case
it's virtual manufacturing of composite materials). In the past two
years, we've also been using matplotlib to plot in more-or-less
realtime data from a cloud industrial sensors (temperature, pressure,
etc).

> After reading the matplotlib documents and trying out several little
> examples for a few days, I now have a feeling that matplotlib at least has
> most of the infrastructure ready for my purposes. One thing that bothers me
> a little bit is that the plotting speed seems to be a little slow. But IDL
> had the same problem in the first place too. As computers became faster and
> faster, that problem just became less and less important. I expect the same
> thing will happen to matplotlib too.

This is true, matplotlib can be slow, particularly for large data sets
and many data sets. The trick is to downsample (and use tiling if
you're going to be panning around a lot) what you're actually plotting
before handing it off to the plot. I think more recent versions of
matplotlib handle some of this for you, but we've found that it's
faster to do the downsampling ourselves.

> Now let me turn to technical stuff. What I want is a time-series plotting
[...]
> sufficient. Third, the system should have minimal dependencies for the sake
> of portability and installation easiness. As for now, I don't want any
> dependencies beyond numpy, scipy, and matplotlib. Ipython would be a highly
> recommended tool, but the system should be just fine without it.

You're going to need more than that. At the very least you're going to
need a widget framework like wxPython, pyQT, pyGTK, or some such.
These will provide you with all the window management, widget
controls, and so on. Our preference is wxPython but YMMV.

> After weighing all the options, I sense that I will probably be better off
> to use the matplotlib library directly, rather than the convenient utilities
> provided by pyplot. However, I am having a hard time to find good
> instructions for using the matplotlib infrastructure. So, I would like to
> hear some references on that. I also would like to hear general advice about
> how to construct such a system so that its structure is consistent with
> matplotlib conventions. Other comments and advice are warmly welcome too.

Absolutely, you'll want to use the API rather than the utility
functions. The best reference for that is the online documentation at
matplotlib.org. In the past we've found the source code documentation
(or, say, that generated by doxygen) more helpful than the Sphinx
documentation, but frankly our matplotlib bits are pretty stable now
and we haven't had to use the documentation for a while (perhaps it's
better now).

Good luck! We've been very happy with our design choices, and get
nothing but positive feedback on how our plots look and feel.
matplotlib and the amazing active community around it have everything
to do with that.

Anthony.

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to