You can always try a Java Applet. But this suggestion might be off topic! On Wed, Nov 19, 2008 at 12:04 AM, Mark Easton <[EMAIL PROTECTED]>wrote:
> I'd be using C++. :) > > I already have a C++ application running on our gateway which deals with > grabbing data from the stations. It then passes that to a parser utility I > wrote so that would be a good place to reduce the dataset ready for a > progressive display on a flex chart. > > Yep - a very interesting application! > > ------------------------------ > *From:* flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] *On > Behalf Of *Josh McDonald > *Sent:* Wednesday, November 19, 2008 11:34 AM > > *To:* flexcoders@yahoogroups.com > *Subject:* Re: [flexcoders] Re: Creating a Chart With 50,000 Data Points > > I'd look into some intermediary code to reduce your dataset, written in > something with threads (my first choice would be Java, but that's me). It > sounds like you're working on some interesting stuff Mark :) > > -Josh > > On Wed, Nov 19, 2008 at 6:15 AM, Mark Easton <[EMAIL PROTECTED]>wrote: > >> Thanks Brendan, >> >> We are charting observations from a range of sensors and contact inputs. >> The contact inputs are a special case as they can only have 1 or 0 values. >> But the sensors include temperature, current, voltage, light, humidity, >> vibration, motion, gps velocity, gps location, wind speed, wind direction >> etc. >> >> The client does like the the charting features so he wants all of the flex >> charting cool stuff as well as the ability to see these charts. >> >> But that does not mean that I cant look at a combination of approaches. >> Its a good idea to look at coding a custom chart, and one I will look at >> closely. >> >> Yes I was thinking along the lines of having 2000 plot points. So in the >> case of a 3 month graph I would start with 120,000 points and need to reduce >> that to 2000. >> >> Cheers, >> Mark >> >> ------------------------------ >> *From:* flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] *On >> Behalf Of *Brendan Meutzner >> *Sent:* Wednesday, November 19, 2008 8:51 AM >> *To:* flexcoders@yahoogroups.com >> *Subject:* Re: [flexcoders] Re: Creating a Chart With 50,000 Data Points >> >> 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/ >> >> No virus found in this incoming message. >> Checked by AVG - http://www.avg.com >> Version: 8.0.175 / Virus Database: 270.9.6/1797 - Release Date: 11/18/2008 >> 11:23 AM >> >> > > > -- > "Therefore, send not to know For whom the bell tolls. It tolls for thee." > > Like the cut of my jib? Check out my Flex blog! > > :: Josh 'G-Funk' McDonald > :: 0437 221 380 :: [EMAIL PROTECTED] > :: http://flex.joshmcdonald.info/ > :: http://twitter.com/sophistifunk > > No virus found in this incoming message. > Checked by AVG - http://www.avg.com > Version: 8.0.175 / Virus Database: 270.9.6/1797 - Release Date: 11/18/2008 > 11:23 AM > > > -- Lily Tomlin - "The trouble with the rat race is that even if you win, you're still a rat."