I have a custom web part which includes RAD Chart control.
This web part is used in WSS 3.0.
SharePoint List data is displayed in RAD Chart.
I added series to RAD Chart.
I get the Series' max , min value and calculates the difference between them.
double seriesMaxYVal = radChartObj.Series.GetMaxYValue(); |
double seriesMinYVal = radChartObj.Series.GetMinYValue(); |
double diffSeriesYVal = seriesMaxYVal - seriesMinYVal; |
I checked for difference between series' max and min value and set the IsLogarithmic property of Y-axis as true.
Please refer the below code:
// Check if difference between series item Max and Min values is zero. |
if (diffSeriesYVal != 0) |
{ |
// Check if difference between series item Max and Min values is more or less than specific values. |
// If difference is out of valid range then set RadChart's Y-Axis logarithmic mode as true. |
// This is used to display rapidly increasing values. |
if ((diffSeriesYVal >= 1E+14) || (diffSeriesYVal <= 1E-14)) |
{ |
radChartObj.PlotArea.YAxis.IsLogarithmic = true; |
} |
} |
else if ((seriesMaxYVal >= 1E+14) || (seriesMaxYVal != 0 && seriesMaxYVal <= 1E-14)) |
{ |
radChartObj.PlotArea.YAxis.IsLogarithmic = true; |
} |
As per the above code, I set the IsLogarthimic property value as true whenever it is required.
Case
=====
Series max Y value = 1.50000000000001E+28
Series min Y value = 1.5E+28
Difference between max and min value = 98956046499840.0
In case of above values, no condition is satisfied and thats why IsLogarithmic property value is set as false.
and RenderContents function is throwing exception.
Exception:
"Impossible to show correct data, when difference between minimal and maximal values of series items less than 1E-14."
Stack Trace:
" at Telerik.Charting.Chart.GetException(RenderEngine renderEngine, Exception ex)\r\n at Telerik.Charting.Chart.GetImage(Int32 width, Int32 height)\r\n at Telerik.Web.UI.RadChart.RenderClassic(HtmlTextWriter writer)\r\n at Telerik.Web.UI.RadChart.RenderContents(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)\r\n at Telerik.Web.UI.RadDataBoundControl.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)\r\n at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at Telerik.Web.UI.RadAjaxPanel.RenderChildren(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)\r\n at Telerik.Web.UI.RadAjaxPanel.RenderContents(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)\r\n at Telerik.Web.UI.RadAjaxPanel.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at Telerik.Web.UI.ControlRenderer.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)\r\n at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)\r\n at System.Web.UI.Control.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)\r\n at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)\r\n at System.Web.UI.UpdatePanel.RenderChildren(HtmlTextWriter writer)\r\n at System.Web.UI.Control.Render(HtmlTextWriter writer)\r\n at System.Web.UI.UpdatePanel.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at Telerik.Web.UI.PreControlToAjaxify.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)\r\n at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.TableCell.RenderContents(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)\r\n at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)\r\n at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)\r\n at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)\r\n at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)\r\n at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)\r\n at Documenta.SharePoint.Reports.ReportWebPart.ChartViewer.RenderContents(HtmlTextWriter writer) in D:\\LatestDocumenta\\Source\\Documenta.SharePoint.Reports\\src\\ChartViewer.cs:line 368"
Please let me know the limits of difference values between series max and min values in RADChart.
Please suggest a solution.
Thanking you in anticipation.
Regards,
LJ