I am creating RadHTMLChart programmatically to generate a single line chart with date on the x-axis and integers on the Y axis.. Everything seems to be working correctly but when I look closer to the data points the graph does not seem to be drawing every singles data point from the source. I am attaching an screenshot of the generated chart . I know that between the firs tool tip ("58") and the second tool tip ("31) . I have some data points that fluctuate to 59 then back to 58 and then 59 again but I do not see this reflected on my graph. Does HtmlChart takes an avarage to draw the graph or how does it work? Please any help would be appreciate it.
The data source of the graph is obtained of a filtered CSV file.
Here is my code:
RadHtmlChart PowerChart = new RadHtmlChart(); PowerChart.ID = "PowerChart"; PowerChart.Width = Unit.Pixel(1200); PowerChart.Height = Unit.Pixel(500); PowerChart.Transitions = true; PowerChart.Skin = "Silk"; PowerChart.Appearance.FillStyle.BackgroundColor = System.Drawing.Color.White; PowerChart.ChartTitle.Appearance.Align = Telerik.Web.UI.HtmlChart.ChartTitleAlign.Center; PowerChart.ChartTitle.Appearance.BackgroundColor = System.Drawing.Color.Transparent; PowerChart.ChartTitle.Appearance.Position = Telerik.Web.UI.HtmlChart.ChartTitlePosition.Top; LineSeries PowerChartLineSeries = new LineSeries(); //PowerChartLineSeries.DataFieldY = "BatteryCapacity"; // ??? mayb non global PowerChart.PlotArea.XAxis.DataLabelsField = "DateandTime"; PowerChart.PlotArea.XAxis.Type = Telerik.Web.UI.HtmlChart.AxisType.Date; PowerChart.PlotArea.XAxis.TitleAppearance.Text = "Date"; PowerChart.PlotArea.XAxis.MajorGridLines.Color = System.Drawing.ColorTranslator.FromHtml("#EFEFEF"); PowerChart.PlotArea.XAxis.MajorGridLines.Width = 1; PowerChart.PlotArea.XAxis.MinorGridLines.Color = System.Drawing.ColorTranslator.FromHtml("#F7F7F7"); PowerChart.PlotArea.XAxis.MinorGridLines.Width = 1; PlotBand yAxisPlotBandDanger = new PlotBand(); yAxisPlotBandDanger.Color = System.Drawing.ColorTranslator.FromHtml("#CC0000"); yAxisPlotBandDanger.Alpha = 190; PlotBand yAxisPlotBandDanger2 = new PlotBand(); yAxisPlotBandDanger2.Color = System.Drawing.ColorTranslator.FromHtml("#CC0000"); yAxisPlotBandDanger2.Alpha = 190; PlotBand yAxisPlotBandWarning = new PlotBand(); yAxisPlotBandWarning.Color = System.Drawing.Color.Yellow; yAxisPlotBandWarning.Alpha = 190; PlotBand yAxisPlotBandWarning2 = new PlotBand(); yAxisPlotBandWarning2.Color = System.Drawing.Color.Yellow; yAxisPlotBandWarning2.Alpha = 190;PowerChart.ChartTitle.Text = "Batttery Capacity in the last month"; PowerChart.PlotArea.XAxis.BaseUnit = Telerik.Web.UI.HtmlChart.DateTimeBaseUnit.Days; PowerChart.PlotArea.YAxis.Step = 10; PowerChart.PlotArea.YAxis.MinValue = 0; PowerChart.PlotArea.YAxis.MaxValue = 120; yAxisPlotBandDanger.From = 0; yAxisPlotBandDanger.To = 5; yAxisPlotBandWarning.From = 5; yAxisPlotBandWarning.To = 10; PowerChart.PlotArea.YAxis.TitleAppearance.Text = "Battery Capacity"; PowerChart.PlotArea.YAxis.LabelsAppearance.DataFormatString = "{0}%"; PowerChart.PlotArea.YAxis.PlotBands.Add(yAxisPlotBandDanger); PowerChart.PlotArea.YAxis.PlotBands.Add(yAxisPlotBandWarning); PowerChartLineSeries.DataFieldY = "BatteryCapacity"; PowerChart.PlotArea.Series.Add(PowerChartLineSeries); HtmlChartHolder.Controls.Add(PowerChart); PowerChart.DataSource = GetDataTableToGraph(4, "BatteryCapacity"); PowerChart.DataBind();public DataTable GetDataTableToGraph(int option, string powerVariable) { DateTime olddate; DataTable sourceTable = new DataTable(); sourceTable.Columns.AddRange(new DataColumn[] { new DataColumn("DateandTime", typeof(DateTime)), new DataColumn("BatteryCapacity", typeof(int)), new DataColumn("BatteryChargeState", typeof(string)), new DataColumn("BatteryStatus", typeof(string)), new DataColumn("BatteryVoltage", typeof(double)), new DataColumn("Temperature", typeof(double)), new DataColumn("InputVoltage", typeof(double)), new DataColumn("InputFrequency", typeof(double)), new DataColumn("OutputCurrent", typeof(double)), new DataColumn("OutputLoad", typeof(int)), new DataColumn("OutputSource", typeof(string)), new DataColumn("OutputVoltage", typeof(double)), new DataColumn("LRTLB", typeof(string)) }); try { string directory = ReadPowerDisplayRegistry("Dir") + "Service\\PWRDATA.csv"; string[] fileContent = File.ReadAllLines(directory); for (int i = 2; i < fileContent.Count(); i++) { string[] rowData = fileContent[i].Split(','); sourceTable.Rows.Add(rowData); } string[] selectedColumns = new[] { "DateandTime", powerVariable }; DataTable newDt = new DataView(sourceTable).ToTable(false, selectedColumns); if (option == 0) { olddate = DateTime.Now.AddMinutes(-30); } else if (option == 1) { olddate = DateTime.Now.AddMinutes(-60); } else if (option == 2) { olddate = DateTime.Now.AddDays(-1); } else if (option == 3) { olddate = DateTime.Now.AddDays(-7); } else { olddate = DateTime.Now.AddMonths(-1); } newDt.DefaultView.RowFilter = String.Format(CultureInfo.InvariantCulture.DateTimeFormat, "[DateandTime] >#{0}#", olddate); //newDt.DefaultView.RowFilter = string.Format return newDt; } catch { return null; } }