Jianbao,

The one thing I would add to Anthony's response, which is a good summary of 
what I would say, is that you should look into the animation aspects of 
matplotlib, and the xdata and ydata attributes of lines/axes for speed in 
replotting mostly similar situations.  I regret having not learned of these 
before I made an application, and I have yet to go back and implement these 
faster methods.

-Sterling

On Oct 3, 2012, at 9:49AM, Anthony Floyd wrote:

> 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


------------------------------------------------------------------------------
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