ASE Home Page Products Download Purchase Support About ASE
ChartDirector Support
Forum HomeForum Home   SearchSearch

Message ListMessage List     Post MessagePost Message

  Data Reduction
Posted by David Wilson on May-21-2011 03:42
In our application, we create line charts with thousands of data points. As the number of data points increases, ChartDirector bogs down and the redraw time increases. For very large data sets, the vast majority of data points have little or no effect on the graph line geometry, and could be omitted from the data with improved rendering performance and little impact on chart accuracy. Does ChartDirector provide any such data reduction support?

  Re: Data Reduction
Posted by Peter Kwan on May-22-2011 13:00
Hi David,

ChartDirector can plot ten thousand points very quickly. In the majority of the case, it is the hot spots (image map) that causes the performance problem. Whereas it is fast for ChartDirector to plot ten thousand points, it may be slow for the GUI to create 10000 clickable hot spots with tooltips. (Each hot spot is like a tiny push button. Imagine the resources required for 10000 push buttons on the screen.) If this is roughly the amount of data you have, one method is to consider not to use image maps.

If you do have a lot of data, and you need to reduce the data, you would need to do this before passing the data to ChartDirector. Usually, data reduction is the function of the database. If you are using SQL, you may use aggregate query to reduce the amount of data returned from the database. Of course, you can also use your own code to reduce the data. The exact method to reduce the data depends on the nature of the data.

The followings show examples on how to reduce the data so that the chart is almost identical to the original chart:

http://www.chartdir.com/forum/download_thread.php?bn=chartdir_support&thread=1301371841#N1301421825

Hope this can help.

Regards
Peter Kwan

  Re: Data Reduction
Posted by David Wilson on May-23-2011 22:14
As always, thanks for your customary prompt and courteous reply.

Our data is dynamically generated, and often exceeds 200K data points per line, so rendering lag time is often several seconds. Pre-plot data reduction is more or less necessary. We know by experiment that tool tips are a performance hit, but they shouldn't be an issue if the data is pre-reduced, and we would like to keep them.

I take it from your reply that ChartDirector does not include a data reduction facility. Since our data is not from an SQL source, SQL aggregates are not a convenient solution for data reduction. Therefore, I am left with implementing a home-grown filter.

Suggestions:

- Perhaps ChartDirector should provide a line chart data reduction facility that, given x-y data, and a pixel width and height, reduces the data to pixel density while maintaining line geometry and data minima/maxima. This feature would have been very helpful to me in my present situation.

- If not already done, tool tip hot spots should not be created at a density finer than one pixel. 100K data points plotted across 500 pixels should result in about 500 tool tip hot spots, not 100K.

Cheers,

Dave Wilson

  Re: Data Reduction
Posted by Peter Kwan on May-24-2011 00:50
Hi David,

Thanks a lot for your valuable suggestions. Automatic data reduction is currently of very high priority in our feature list to be implemented in future versions of ChartDirector. We will certainty very seriously consider implementing these features.

Regards
Peter Kwan