I’ve developed a chart that plots a number of line series (typically up to 16). The chart works in a “sweep” motion – when the lines reach the r.h. side they start again from the left. This is accomplished by populating the series with the appropriate number of points (known in advance), then sequentially updating the series values as the data arrives from the external source. This results in an ECG chart style, where the previous sweep’s line is gradually overwritten as the points are updated.
There is now a requirement to place the chart into “overlay mode”, where each sweep line remains visible. Over time more and more lines will be superimposed on top of each other, allowing us to see variations in the data.
The only way I can think of doing this is to start each “sweep” as a new series in my DataSeriesSet, however I’m concerned about performance – charting could run for hours, and a sweep is typically 20 seconds – multiplied by the number of lines being plotted (up to 16). Is there a better way?
Assuming this is the approach to take, how would I manage the view’s RenderableSeries, which currently contains 16 hardcoded FastLineRenderableSeries? As I add new series to my DataSeriesSet, how would I also add to the RenderableSeries from the viewmodel?
Also, there is another requirement for an “averaging mode”, where each sweep plots the average of the data values from this and all previous sweeps. I can obviously calculate the averages in my viewmodel and plot these, but I wondered if SciChart contained any nifty feature to do such a thing automatically?!
sounds to me like your approach is the best way. It’s going to result in a lot of manual coding on your side I’m afraid as its not a scenario we support out of the box.
The process should be as follows.
I think performance should be fine, we have examples with hundreds of series each with thousands of points and no problems.
Let me know if I can help in some way.
Please login first to submit.