【问题标题】:Chart series clearing not working图表系列清除不起作用
【发布时间】:2017-05-13 13:34:21
【问题描述】:

我需要在我的 C# 应用程序中多次调用 CreateChart()。但是一个错误说

附加信息:名为“Income”的图表元素已存在于“SeriesCollection”中。

我使用以下代码清除了图表系列。

foreach (var series in chart1.Series)
    {
        series.Points.Clear();
    }

上面的代码取自stackoverflow Link

但同样的问题仍然存在。这是 CreateChart()。它第一次加载图表而没有问题。如果我多次加载它,就会发生错误。

foreach (var series in chart1.Series)
                {
                    series.Points.Clear();
                }
                chart1.Series[0].IsVisibleInLegend = false;
                var IncSeries = new Series("Income");
                var ExpSeries = new Series("Expense");
                IncSeries.Points.DataBindXY(new[] { "Today's Income" }, new[] { Income });
                ExpSeries.Points.DataBindXY(new[] { "Today's Expense" }, new[] { Expense });
                chart1.ChartAreas[0].AxisX.IsReversed = true;
                chart1.Series.Add(IncSeries);
                chart1.Series.Add(ExpSeries);

【问题讨论】:

  • “我使用下面的代码清除了图表系列” - 不,该代码清除了图表系列集合中每个系列的点集合。不要只是寻找要复制的代码,而是尝试理解它。一旦您了解了事物如何工作的基础知识,您就可以从那里构建,而无需查找要复制的代码。

标签: c# winforms charts series


【解决方案1】:

你还没有清除系列。您只是连续清除了点数。

chart1.Series.Clear();
var IncSeries = new Series("Income");
var ExpSeries = new Series("Expense");
IncSeries.Points.DataBindXY(new[] { "Today's Income" }, new[] { Income });
            ExpSeries.Points.DataBindXY(new[] { "Today's Expense" }, new[] { Expense });
chart1.ChartAreas[0].AxisX.IsReversed = true;
chart1.Series.Add(IncSeries);
chart1.Series.Add(ExpSeries);
chart1.Series[0].IsVisibleInLegend = false;

【讨论】:

    猜你喜欢
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多