Our XamDataChart has numeric X and multiple numeric Y axes with 5 to 15 curves plotted and also new data points added to each curve at about 1 point per second.
Is there a way to force a series to redraw its curve or to force all of the curves to redraw on the graph?
When we have a transformation operation applied to the graph, such as changing each curve from English units of measure to metric, some, but not all, of the curves do not get redrawn.
Changing from English to metric steps:
For each series on the graph a. nc = new ObservableCollection<DataPoint>() b. For each data point in the series collection nc.Add ( copy the existing data point and then transform the new point units of measure ) c. On the user interface thread { Series.DataCollection = nc }This happens quickly and some of the series do not show up on the graph even though they have data in their collection.We have not been able to determine the root cause but a guess is that it happens when we have multiple data series going to the same Y axis.
HI,
What Version of NetAdvantage are you using?
Does you r DataPoint Class implement INotifyPropertyChanged?
If it does not, you should implement it.
Is it possible for you to instead of creating a new collection, to just update the values in the existing collection? If so then with INotifyPropertyChange, the XamDataChart will update each point.
If you need to create a new collection, you could try settng the new collection to the series before adding data to it.
You could try calling the XamDataChart's UpdateLayout or the Series.UpdateLayout methods.
If these suggestions don't work, can you provide a small isolated sample that replicates this issue.
Sincerely,
Matt Developer Support Engineer
We cannot update each data point indivually since there are up to 200,000 points on the graph and we cannot force the graph to refresh for each data point.
We will look into the series.UpdataLayout and XamDatachart.UpdataLayout.Part of our challenge is that the user may apply the global transform to the graph while real time data is being collected. This should support collecting usually 5 - 15 data curves with 1 new data point for each curve comming in every second at random times during the second.
Do you require further assistance regarding this case.