我有一个图表,我需要清除它以便用不同的值填充它。该图表有 3 个系列,均在 .aspx 页面中定义。
问题是当我打电话时
chart.Series.Clear();
然后重新添加系列,如:
chart.Series.Add("SeriesName");
它不保留 3 个初始系列的任何属性。如何清除值并保留系列属性?
这应该有效:
foreach(var series in chart.Series) {
series.Points.Clear();
}
这应该工作
chartnameHERE.Series["SeriesNameHERE"].Points.Clear();
这实际上将从图表中完全删除系列(不仅仅是从系列中删除点)。
while (chart1.Series.Count > 0) { chart1.Series.RemoveAt(0); }
我遇到了一种问题(但对于 Windows 窗体应用程序)。那么你能告诉我你什么时候将数据源传递给图表。
我在将数据传递给图表控件时使用了错误的顺序
第一次我这样做:
chart1.Series["Series1"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Auto;
chart1.DataSource = sqlChartTabel; //sqlChartTable is my DataTable
// Assigning new Data to the charts
chart1.Series.Clear(); // clearing chart series (after the DataTable is assigned with data)
chart1.Series.Add("Violations");
chart1.Series["Series1"].XValueMember = "Month_name";
chart1.Series["Series1"].YValueMembers = "Salary";
chart1.ChartAreas["ChartArea1"].AxisX.Title = "Months";
chart1.ChartAreas["ChartArea1"].AxisY.Title = "Salary";
chart1.DataBind();
chart1.Visible = true;
所以,然后我意识到,我在清除图表之前分配了数据,所以我只是改变了我的声明顺序,它起作用了:
我的工作代码:
chart1.Series.Clear(); // changed position of clear(before Assigning the datatable)
chart1.Series.Add("Violations");
chart1.Series["Series1"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Auto;
chart1.DataSource = sqlChartTabel; //sqlChartTable is my DataTable
// Assigning new Data to the charts
chart1.Series["Series1"].XValueMember = "Month_name";
chart1.Series["Series1"].YValueMembers = "Salary";
chart1.ChartAreas["ChartArea1"].AxisX.Title = "Months";
chart1.ChartAreas["ChartArea1"].AxisY.Title = "Salary";
chart1.DataBind();
chart1.Visible = true;
这对我有用
foreach(var series in chart.Series)
{
series.Points.Clear();
}
reloadData();
this.chart.DataBind();