Hi,
I have an application that uses TeeChart to plot some field data. The field data could have a maximum of 500 series each with up to 1.4Million samples.
When I tried using Teechart to plot 300 series (using the fastline series) with 200,000 samples in each I get an out of memory exception. I had the following questions
(1) Does Teechart have a separate series/mode to handle large data sets? I use the Fastline since its supposedly optimized to plot data quickly. However I am not sure whether this is the best choice for large data series.
(2) Does Teechart have a special mode wherein the user can point Teechart to a data member to be used for plotting and then Teechart plots only a subset of those points as necessary (since the screen has only some many pixels and plotting just a subset of the samples would be sufficient). For instance if I had an array called RSSI(100,000), Teechart would use only 5000 of the points and if the user zooms in, it would access more data from RSSI() to update the chart.
(3) If it turns out that (1) , (2) don't include anything special for large datasets, how do you handle large data sets? I know TeeChart has a downsampling class but even if I use downsampling to scale down the data I get an exception when I add the data to the series using the series.add() function.
Thanks in Advance.
Regards,
Vivek
Plotting Large Data Sets in TeeChart
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Hi Vivek,
1. Do as suggested in the Realtime Charting article here. This is a Delphi article but most of it also applies to TeeChart for .NET.
2. Set FastLine's DrawAllPoints property to false as shown in the All Features\Welcome !\Chart styles\Standard\Fast Line\Fast Line Speed DrawAll example at the features demo.
3. Use DownSampling function as demoed at All Features\Welcome !\Functions\Extended\Reducing number of points in the features demo.
Features demo can be found at TeeChart's program group.
Thanks in advance.
TeeChart has no limit on the number of series and points that can be plotted. However, this constrain is determined by machine's memory capabilities.When I tried using Teechart to plot 300 series (using the fastline series) with 200,000 samples in each I get an out of memory exception. I had the following questions
As said above, FastLine series is the best option to handle data quickly. However, to handle such amounts of data you should adopt further measures:(1) Does Teechart have a separate series/mode to handle large data sets? I use the Fastline since its supposedly optimized to plot data quickly. However I am not sure whether this is the best choice for large data series.
1. Do as suggested in the Realtime Charting article here. This is a Delphi article but most of it also applies to TeeChart for .NET.
2. Set FastLine's DrawAllPoints property to false as shown in the All Features\Welcome !\Chart styles\Standard\Fast Line\Fast Line Speed DrawAll example at the features demo.
3. Use DownSampling function as demoed at All Features\Welcome !\Functions\Extended\Reducing number of points in the features demo.
Features demo can be found at TeeChart's program group.
Yes, that's something similar at what DrawAllPoints property and DownSampling function do.(2) Does Teechart have a special mode wherein the user can point Teechart to a data member to be used for plotting and then Teechart plots only a subset of those points as necessary (since the screen has only some many pixels and plotting just a subset of the samples would be sufficient). For instance if I had an array called RSSI(100,000), Teechart would use only 5000 of the points and if the user zooms in, it would access more data from RSSI() to update the chart.
If the problem with DownSampling persists please send us a simple example project we can run "as-is" to debug the problem here and try to suggest you a solution. You can either post your files at news://www.steema.net/steema.public.attachments newsgroup or at our upload page.(3) If it turns out that (1) , (2) don't include anything special for large datasets, how do you handle large data sets? I know TeeChart has a downsampling class but even if I use downsampling to scale down the data I get an exception when I add the data to the series using the series.add() function.
Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |