19

我有一个图表,我需要清除它以便用不同的值填充它。该图表有 3 个系列,均在 .aspx 页面中定义。

问题是当我打电话时

chart.Series.Clear();

然后重新添加系列,如:

chart.Series.Add("SeriesName");

它不保留 3 个初始系列的任何属性。如何清除值并保留系列属性?

4

5 回答 5

42

这应该有效:

foreach(var series in chart.Series) {
    series.Points.Clear();
}
于 2012-06-13T16:16:47.173 回答
5

这应该工作

 chartnameHERE.Series["SeriesNameHERE"].Points.Clear();
于 2017-10-13T21:40:26.103 回答
1

这实际上将从图表中完全删除系列(不仅仅是从系列中删除点)。

while (chart1.Series.Count > 0) { chart1.Series.RemoveAt(0); }
于 2016-07-05T20:10:35.400 回答
1

我遇到了一种问题(但对于 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;
于 2020-01-16T05:37:13.953 回答
0

这对我有用

foreach(var series in chart.Series)
{
    series.Points.Clear();
}
reloadData();
this.chart.DataBind();
于 2019-05-03T11:10:50.937 回答