private void BuildChart(RadChart chart, DataTable seriesData) { // Handle Legend Labels chart.Series.Clear(); var nSeries = new ChartSeries(); var nSeries2 = new ChartSeries(); nSeries.Name = "School %"; nSeries2.Name = "District %"; chart.Legend.Appearance.ItemTextAppearance.AutoTextWrap = AutoTextWrap.False; //double minval = 100; //double maxval = 0; ChartAxisItemsCollection caic = new ChartAxisItemsCollection(); var year_list = new List<String>(); // Begin Experience tab foreach (DataRow dr in seriesData.Rows) { var myItem = new ChartSeriesItem(DataIntegrity.ConvertToDouble(dr["SuspensionRate"]), dr["LevelLabel"].ToString()) { Name = dr["SchoolYear"].ToString() }; if (String.IsNullOrEmpty(dr["SuspensionRate"].ToString())) myItem.Appearance.Visible = false; // hide bar and text if the value is null (no data) //myItem.Label.Appearance.LabelLocation = StyleSeriesItemLabel.ItemLabelLocation.Auto; if (dr["Level"].Equals("District")) { nSeries2.AddItem(myItem); } else { nSeries.AddItem(myItem); } year_list.Add(dr["SchoolYear"].ToString()); //if (minval > DataIntegrity.ConvertToDouble(dr["SuspensionRate"])) minval = DataIntegrity.ConvertToDouble(dr["SuspensionRate"]); //if (maxval < DataIntegrity.ConvertToDouble(dr["SuspensionRate"])) maxval = DataIntegrity.ConvertToDouble(dr["SuspensionRate"]); } foreach (var yl in year_list.Distinct()) { ChartAxisItem ai = new ChartAxisItem(); ai.TextBlock.Text = yl; caic.Add(ai); } chart.PlotArea.XAxis.AddItem(caic); chart.PlotArea.YAxis.MinValue = 0; //chart.PlotArea.YAxis.Step = (maxval - (minval - 5)) / 2; chart.PlotArea.YAxis.Step = 5; chart.PlotArea.YAxis.AutoScale = true; //chart.PlotArea.YAxis.MaxValue = maxval == 100 ? maxval : maxval + 5; //chart.PlotArea.YAxis.a = maxval == 100 ? maxval : maxval + 5; chart.Series.Add(nSeries); chart.Series.Add(nSeries2); chart.ChartTitle.Visible = false; chart.SetSkin("SuspensionRate"); }