Re: Unbearably slow plotting (v6)David Bailey,http://www.dbaileyconsultancy.co.ukDavid

*To*: mathgroup at smc.vnet.net*Subject*: [mg79708] Re: Unbearably slow plotting (v6)David Bailey,http://www.dbaileyconsultancy.co.ukDavid*From*: David Bailey <dave at Remove_Thisdbailey.co.uk>*Date*: Thu, 2 Aug 2007 03:52:53 -0400 (EDT)*References*: <f8pii2$1s1$1@smc.vnet.net>

Bill Rowe wrote: > On 7/30/07 at 6:39 AM, dave at Remove_Thisdbailey.co.uk (David Bailey) > wrote: > >> Bill Rowe wrote: > > >>> With 1E5 and 1E6 points, this results in a plot that is >>> indistinguishable from a filled rectangle. That seems to be of very >>> little use. So, while I might be a bit impatient waiting for >>> Mathematica on my machine to plot 1E6 points, I don't see why I >>> would want to do that in the first place. What I want from ListPlot >>> is something to give me an idea of trends in my data. Given real >>> limits on display resolution and size, plotting 1E6 points >>> typically will not provide a useful plot regardless of how fast it >>> plots. So why do this > >> The main reason people do this, is that they have experimental data >> which they want to visualise without having to filter it in some way >> to remove redundant data points. > > I certainly understand the need to visualize experimental data > since that is one of the things I do most frequently with > Mathematica. And I also understand the desire to do this as > easily and efficiently as possible. > > But Mathematica is not a substitute for thinking about your > data. If you ask Mathematica to plot a million points it will do > so in whatever time is required. But such plots are almost never > a good way to visualize data given typical sized displays and > their resolution. > > In fact, one of the nice things about version 6 is it makes > simple filtering such as taking every nth point very easy. For > example, if I had 1E6 data points, I likely would initially plot > every 100th point or every 1000th point to get a reasonable > plot. As I am sure you are aware doing: > > ListPlot[datra[[;; ;;100]]] > > in version 6 will plot every 100th point. > > Yes, there is always a risk in using such simple filtering > schemes important aspects of the data will be missed. But that > same risk exists if all data points in such a large set are > plotted. If there are only a few important points, plotting all > of the points will almost certainly obscure the few important points. > -- > To reply via email subtract one hundred and four > Think of a smooth curve with a few spikes or glitches - it was convenient to plot all the points, and since this required only about one second with 5.2, that was what was done. Filtering the data to remove redundant points without removing the spikes would be possible, but take a lot more effort than just using Span, and it simply was not necessary at 5.2. There is always a problem when something that worked well, suddenly deteriorates after an upgrade! David Bailey http://www.dbaileyconsultancy.co.uk