What kind of charts are you displaying? I've had amazing success with scrapping the charting framework all together and simply "drawing" the chart programmatically. Yes, it's a bit more work, and yes it's only feasible if you don't really need a lot of the charting features that come in the framework. However, the performance difference is huge. The project I applied this on was for financial stock data, and using a custom drawn chart I mention above, along with the concept someone else mentioned by only showing the n-th datapoint interval depending on the overall range being displayed worked quite well. You're able to keep a consistent number of plot points (I've found 500-750 performs best) no matter what the overall range of data you're displaying. I say 500-750 performs best as I also had a horizontal axis slider which allowed for constantly updating data in the chart.
Brendan On Tue, Nov 18, 2008 at 1:27 PM, jim.abbott45 <[EMAIL PROTECTED]>wrote: > 50,000? LOL. ;-) > > On a more serious note, I have to agree with Fotis and Ricky that 50K > data points is too many, both from a (Flash 9 VM at least) performance > perspective and probably also from an Information Visualization > perspective (unless, maybe, your users have 300 dpi monitors). > > There are several standard interaction design and information > visualization techniques which may be useful to you . . . > > 1) Aggregation (as already suggested, take 'N' data points, average > them, and then only display the average value). > > 2) Filtering (by sliders on an axis, by date/time, by structured or > open-ended queries, ...) > > 3) Progressive rendering (sample the entire data set at intervals of > 'N', render those points, then go back and get the data which is > mid-point between the original points, add the new points to the > curve, repeat until desired resolution obtained--or on user demand) > > 4) Non-linear zooming (like idea 1), but allow user to zoom in on a > section of the curve, when they do, add the additional data points to > the curve for the zoomed-in region) > > On a more pragmatic note, you certainly _can_ plot more than 2,000 > points. For example, I've personally used Flex to create charts with > over 14,000 points in them, so I know that at least that number is > definitely *possible*. However, the overall rendering time was (as I > recall) over 3 minutes long. More troubling was the fact that the > entire Flex UI become very sluggish once a chart that large was > displayed. I've seen good chart rendering speed ( ~= 2S ) and no UI > sluggishness, up to about 1500 points. I've also been able to render > up to 6,000 points, but it took about 10S for the rendering and the UI > started to become sluggish. From your posting, it sounds like you're > not seeing those rendering speeds. I'd recommend that you experiment > with how you are using the charting objects/API. My experience was > that I was able to see some very noticeable speed-ups simply be > optimizing how I called the charting API (especially w.r.t. how I > loaded the series data). In particular, if your charts are > interactive, try to cache anything you can that doesn't necessarily > change during an interaction (i.e., axis objects). > > Last thought: the new Flash 10 VM (Astro) has support for larger > bitmaps and also can now do hardware-based rendering, apparently. I > haven't tried either of those features myself, but using the v10 VM > _might_ be another way to get a performance boost, etc. > > Good luck! > Jim > > > --- In flexcoders@yahoogroups.com <flexcoders%40yahoogroups.com>, "Mark > Easton" <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > It appears that Flex Charts cannot handle generating charts with large > > DataSets. We tried with 50,000 data points and it thrashed away without > > producing a result after 6 minutes. It was able to plot 2,000 points in > > about 25 seconds. > > > > What is the recommended approach for creating charts from large data > sets. > > The best I can think of is to write some code that will reduce the > data set > > in size yet still provide enough data to represent the graph accurately. > > > > Thoughts? > > > > Ta. > > Mark > > > > > -- Brendan Meutzner http://www.meutzner.com/blog/