C#更新图表值

时间:2016-01-12 17:49:46

标签: c# charts

如何更新已创建的值?

就像,我有这张图表:

chart

然后我想用其他值更新图表值。我已经尝试了很多东西,但我没有设法使它工作......

我的代码:

int ratio = (int)PlayerStats.Kills - PlayerStats.Deaths;

string[] seriesArray = { "Kills", "Assists", "Deaths", "MVPS" , "Headshots", "Ratio" };
int[] pointsArray = { PlayerStats.Kills, PlayerStats.Assists, PlayerStats.Deaths, PlayerStats.MVPS, PlayerStats.Headshots, ratio };

this.chart1.Titles.Add("Statistics Chart");

for (int i = 0; i < seriesArray.Length; i++)
{
    Series series = series = this.chart1.Series.Add(seriesArray[i]);

    series.Points.Add(pointsArray[i]);
}

chart1.ChartAreas[0].AxisX.Enabled = AxisEnabled.False;
chart1.ChartAreas[0].AxisY.Enabled = AxisEnabled.False;

double realRatio = Math.Round((double)PlayerStats.Kills / PlayerStats.Deaths, 2);
double hsRatio = Math.Round((double)PlayerStats.Headshots / PlayerStats.Kills, 2);

label6.Text = PlayerStats.Kills.ToString();
label7.Text = PlayerStats.Assists.ToString();
label8.Text = PlayerStats.Deaths.ToString();
label11.Text = PlayerStats.MVPS.ToString();
label10.Text = String.Format("{0:P2}", hsRatio);
label9.Text = realRatio.ToString();

当我尝试第二次运行该函数(更新值)时,它给了我一个例外:(在循环内,第一行)

附加信息:'SeriesCollection'中已有一个名为'Kills'的图表元素。

我已经设法在启动时只调用了一次特定的函数(chart1.Series.Add(...)),但循环中的其他函数也给了我异常。

好吧,我希望你能理解我的英语:P

1 个答案:

答案 0 :(得分:1)

您是否在循环播放之前清除图表元素以再次添加它们?像

这样的东西
this.chart1.Series.Clear();