Hi,
We are using xamWebChart and adding Datapoints dynamically to it. We have to show Numeric Value in Y-Axis and Date Value in X-Axis. But we are having following issues:
1. We have to add dates by casting it to string (Hope it does not effect any thing)2. Only 4 Dates are shown in x-axis labels while there are hundred of date points, this makes chart less readable.3. We are adding tooltip to datapoints but it is not shown(If i convert the chart type to Scatter then it shows tooltip).4. It takes 3 to 4 seconds to add data points(I am using cht.RefreshEnabled this property too).
Can you help me to reolve these issues
Thanks
Could you provide a bit more information or a sample project? Which type of series are you trying to use that the tooltips are not showing? In terms of the axis labels, the chart will attempt to decide various parameters of the axis for you automatically based on the available space and other factors, but if the results you are seeing are not aesthetically pleasing or informative you may wish to manually adjust the range and interval of the axis: http://help.infragistics.com/NetAdvantage/DV/2009.2/CLR3.5/?page=SL_DV_xamWebChart_Modify_the_Axis_Range.html
or label formatting:
http://help.infragistics.com/NetAdvantage/DV/2009.2/CLR3.5/?page=SL_DV_xamWebChart_Format_the_Labels_of_an_Axis.html
-Graham
Hi Graham,
PFA sample code, you can test it with different number of datapoints by changing iterator controler from code. furthermore you can check change in loading and the refresh time after hitting the load button multiple times.
Hi Graham, I have checked If we add Markers in Series then it shows tooltipp. Is it necessary to add Markers to get tooltip on datapoints?
As Markers increase the loading time
you can adjust the frequency of the date category labels with something like this:
Axis xAxis = this.cht.Axes[0]; xAxis.AutoRange = false; xAxis.Minimum = 0; xAxis.Maximum = seriesValues.DataPoints.Count - 1; xAxis.Unit = seriesValues.DataPoints.Count/20.0;
Adjust the 20.0 value to change the frequency.
In the latest code I'm getting this as the performance (for i < 1000)
And it does not seem to be affected by subsequent runs of the population, how does this compare to what you are getting?
You can turn on markers for the line series to get the tooltips, but it will affect the performance when you have that many data points. You could do something with the series mouse events to display some tooltips, but it would be a bit complicated, as each line is actually associated with two seperate data points.
Thanks Graham,
It was of great help and now I can view more dates in the x-axis.
Furthermore, It still takes some time to refresh after LayoutUpdated event which is 2 to 3 seconds. hope you can notice chart refreh after clicking ok button of messagebox. and in between ui is halted or stucks.
I am using 2010.1, can you tell me if you are same libray or the latest one which is about to release in this June?
The screenshot I attached is from the latest code, which should equate to the next volume release.
I tried to test the solution with 2010 v 2 but unfortunately v2 is only available for SL 4 and VS 2010 while we are using VS 2008 with SL 3.
Can you help me in this regards (Should we leave this issue or there is some work around).
And can you tell me if there is any difference in Data Visualization » xamWebChart and Web Client » xamWebChart
Graham is on vacation, so I'll answer these.
I don't think there's an event after LayoutUpdated which will be raised after rendering is completed. I also discussed this with Graham before he left, and he agreed - at this time, the control has passed all its UIElements to Silverlight to be rendered, and there's no way for the control to know when the graphics have been rendered to the screen.
The Service Release for NetAdvantage for Silverlight 2010.1 would include those charting performance fixes. However, those service releases are based on Silverlight 4.
Thanks Graham for this explaination,
First of all, Chart takes some time in randering after LayoutUpdated evnt has fired is there any event which fires after rendering is done. this can be observed in provided sample earlier (Please check the time taken after MessageBox displayed in LayoutUpdated event for chart. you can check this on vs 2008 with SL 3)
And secondly, 2010 v2 has some Performance fixes with respect to Charts but this is only supporting VS 2010. Is there any service pack for 2010 v1 to provide related fixes to VS 2008 (SL 3).
In 9.2, the LOB xamWebChart has a subset of the features of the DV xamWebChart. But the features that exist in both share the same code base, and the performance profile should be very similar, if not identical.
In 10.2 you also have access to the xamDataChart which is designed for high data volume scenarios which would assist in this instance.
What is the remaining issue you are working around? The time between the binding of the data and the display in the chart? When you are displaying large volumes of data in the XamWebChart, some delay in rendering is difficult to avoid as, in the end, Silverlight is being asked to draw too much geometry. The XamDataChart is better at managing and reducing unnecessary geometry to improve silverlight rendering performance.
I'll take another look at your sample and see if there is anything else I can recommend to speed up the render time.