グラフがあり、さまざまな値を入力するためにグラフをクリアする必要があります。チャートには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();