I am very new to Telerik so excuse me if I am leaving something out, but I'll try to be as accurate as possible. I have a RadChart (line chart) with a linqdatasource. The chart renders accurately when all YValues are above 1. However, for any YValue between 0 and 1 (e.g. 0.2, 0.6, etc.), the chart runs directly into the XAxis with no label displayed. In fact, it does not even display a label at 0. For those charts where all YValues are below 1, the chart renders blank, with no datapoints, or labels shown. I have went through the code, and the data is being picked up accurately. I have also tried setting the PlotArea range for the YAxis in steps of .5, rather than 1. The results are still the same.
I'm attaching 4 files:
The following is my codebehind:
And here's my asp:
I'm also attaching images of how some of these charts render, with the behavior described.
Any help would be greatly appreciated!
Rita
I'm attaching 4 files:
The following is my codebehind:
protected void trcBehaviorData_ItemDataBound(object sender, Telerik.Charting.ChartItemDataBoundEventArgs e) { RethinkAutismDataContext ctx = new RethinkAutismDataContext(); NameValueCollection nvcNotes = (NameValueCollection)Session["nvcNotes"]; int index = e.SeriesItem.Index; var key = nvcNotes[(index + 1).ToString()]; var r = ctx.viewBehaviorPlanDataInfos.Where(rr => rr.dataSetId == Convert.ToInt32(key)).FirstOrDefault(); if (r != null) { String bNotes = ""; if (!String.IsNullOrEmpty(r.notes)) bNotes = ":<br /> " + r.notes; e.SeriesItem.ActiveRegion.Tooltip = "<b>" + r.dateCreated.ToString("MM/dd/yyyy") + " " + r.uName + "</b>" + bNotes; e.SeriesItem.YValue = (double)r.result; } } protected void buildChartXAxis() { int idx = 0; int planCount = 1; RethinkAutismDataContext ctx = new RethinkAutismDataContext(); var behavior = (from b in ctx.BehaviorTrackings where b.Id == behaviorId select b).SingleOrDefault(); trackingMethod = behavior.MethodTypeLU.Name; int resultCount = 0; List<dataReportForBehaviorPlanResult> result = ctx.dataReportForBehaviorPlan(ChildProfileId, behaviorId, Plan).ToList(); intervalMinutes = (int)behavior.IntervalsofMinutes; resultCount = result.Count(); if (resultCount > 0) { if (resultCount < 21) { IEnumerator ieResult = result.GetEnumerator(); ieResult.MoveNext(); dataReportForBehaviorPlanResult resultSummary = (dataReportForBehaviorPlanResult)ieResult.Current; trcBehaviorData.PlotArea.XAxis.AutoScale = false; trcBehaviorData.PlotArea.XAxis.AddRange(1, 21, 1); for (int i = 0; i < 21; i++) { trcBehaviorData.PlotArea.XAxis[i].TextBlock.Text = (i + 1).ToString(); } } if (resultCount > 20) { trcBehaviorData.PlotArea.XAxis.AutoScale = false; trcBehaviorData.PlotArea.XAxis.AddRange(1, resultCount + 1, 1); IEnumerator ieResult = result.GetEnumerator(); while (ieResult.MoveNext()) { dataReportForBehaviorPlanResult resultSummary = (dataReportForBehaviorPlanResult)ieResult.Current; trcBehaviorData.PlotArea.XAxis[idx].TextBlock.Text = planCount.ToString(); idx++; planCount++; } } }} protected void buildChartYAxis() { RethinkAutismDataContext ctx = new RethinkAutismDataContext(); var behavior = (from b in ctx.BehaviorTrackings where b.Id == behaviorId select b).SingleOrDefault(); trackingMethod = behavior.MethodTypeLU.Name; double yAxisLabel = 0; switch (trackingMethod) { case "Intervals": trcBehaviorData.PlotArea.YAxis.AutoScale = false; trcBehaviorData.PlotArea.YAxis.AddRange(1, 120, 10); for (int i = 0; i < 11; i++) { trcBehaviorData.PlotArea.YAxis[i].TextBlock.Text = yAxisLabel.ToString() + "%"; yAxisLabel += 10; } trcBehaviorData.PlotArea.YAxis[11].TextBlock.Text = "Intervals"; trcBehaviorData.PlotArea.YAxis[12].TextBlock.Text = "% of"; break; case "Frequency": trcBehaviorData.PlotArea.YAxis.AutoScale = false; trcBehaviorData.PlotArea.YAxis.AddRange(1, 23, 1); for (int i = 0; i < 21; i++) { trcBehaviorData.PlotArea.YAxis[i].TextBlock.Text = yAxisLabel.ToString(); yAxisLabel +=1; // yAxisLabel + Convert.ToDouble(0.5); } trcBehaviorData.PlotArea.YAxis[21].TextBlock.Text = "/ day"; trcBehaviorData.PlotArea.YAxis[22].TextBlock.Text = "times"; break; //trcBehaviorData.PlotArea.YAxis.AutoScale = false; //double maxValue = Convert.ToDouble(trcBehaviorData.PlotArea.YAxis.MaxValue); //trcBehaviorData.PlotArea.YAxis.AddRange(1, maxValue, .1); //maxValue -= 1; //for (int i = 0; i < maxValue; i++) //{ // trcBehaviorData.PlotArea.YAxis[i].TextBlock.Text = yAxisLabel.ToString(); // yAxisLabel = yAxisLabel + Convert.ToDouble(0.1); //} ////maxValue = Convert.ToInt32(trcBehaviorData.PlotArea.YAxis.MaxValue); //trcBehaviorData.PlotArea.YAxis[Convert.ToInt32(maxValue)].TextBlock.Text = "/ hour"; //maxValue += Convert.ToDouble(0.5); //trcBehaviorData.PlotArea.YAxis[Convert.ToInt32(maxValue)].TextBlock.Text = "times"; //break; case "Duration": trcBehaviorData.PlotArea.YAxis.AutoScale = false; trcBehaviorData.PlotArea.YAxis.AddRange(1, 60, 5); for (int i = 0; i < 12; i++) { trcBehaviorData.PlotArea.YAxis[i].TextBlock.Text = yAxisLabel.ToString(); yAxisLabel += 5; } trcBehaviorData.PlotArea.YAxis[12].TextBlock.Text = "Min"; break; } }<telerik:RadChart ID="trcBehaviorPlanData" runat="server" DataSourceID="behaviorPlanSummary" DefaultType="Line" Width="810px" Height="350px"> <Series> <cc1:ChartSeries Name="dataMeasurement" DataYColumn="result" Type="Line" DataLabelsColumn="date" > <Appearance ShowLabels="true" PointDimentions-AutoSize="False" PointDimentions-Height="10px" PointDimentions-Width="30px"> <%--graph line color--%> <FillStyle FillType="Solid" MainColor="47, 127, 172"> </FillStyle> <PointMark Dimensions-AutoSize="False" Dimensions-Height="8px" Dimensions-Width="40px" Visible="True"> </PointMark> <TextAppearance TextProperties-Color="78, 168, 188"> </TextAppearance> <Border Color="177, 215, 250" /> </Appearance> </cc1:ChartSeries> </Series> <PlotArea> <XAxis> <Appearance Color="226, 218, 202" MajorTick-Color="221, 235, 244"> <MajorGridLines Color="221, 235, 244" /> <TextAppearance TextProperties-Color="81, 99, 100"> </TextAppearance> </Appearance> <AxisLabel> <TextBlock> <Appearance TextProperties-Color="78, 168, 188"> </Appearance> </TextBlock> </AxisLabel> </XAxis> <YAxis AxisMode="Normal" Appearance-LabelAppearance-Position-AlignedPosition="Center"> <Appearance Color="226, 218, 202" MajorTick-Color="221, 235, 244" MinorTick-Color="221, 235, 244"> <MajorGridLines Color="247, 251, 252" /> <MinorGridLines Color="247, 251, 252" /> <TextAppearance TextProperties-Color="81, 99, 100"> </TextAppearance> </Appearance> <AxisLabel> <TextBlock> <Appearance TextProperties-Color="247, 251, 252"> </Appearance> </TextBlock> </AxisLabel> </YAxis> <Appearance Dimensions-Width="30" Dimensions-Margins="40px, 30px, 15%, 9%"> <%--graph background color--%> <FillStyle MainColor="247, 251, 252" SecondColor="Transparent"> </FillStyle> <Border Color="221, 235, 244" /> </Appearance> </PlotArea> <Appearance BarWidthPercent="20" Corners="Round, Round, Round, Round, 5"> <FillStyle MainColor="247, 251, 252"> </FillStyle> <Border Color="188, 229, 231" Width="1" /> </Appearance> <ChartTitle> <Appearance Dimensions-Margins="4%, 10px, 10px, 7%"> <FillStyle MainColor=""> </FillStyle> </Appearance> <TextBlock Text=""> <Appearance TextProperties-Color="232, 140, 0" TextProperties-Font="Verdana, 20pt, style=Bold"> </Appearance> </TextBlock> </ChartTitle> <Legend> <Appearance Visible="false" Position-AlignedPosition="TopLeft"> <ItemTextAppearance TextProperties-Color="81, 99, 100"> </ItemTextAppearance> <Border Color="247, 251, 252" /> </Appearance> <TextBlock Visible="true"> </TextBlock> </Legend></telerik:RadChart>Any help would be greatly appreciated!
Rita