如何在ZedGraph C中删除旧曲线#

时间:2017-03-27 20:30:14

标签: c# forms curve zedgraph

我有这个方法:

private void plotGraph(List<float> data)
    {
        GraphPane myPane = zedGraphControl1.GraphPane;

        // Set the Titles
        myPane.Title.Text = "Symulacja";
        myPane.XAxis.Title.Text = "Czas";
        myPane.YAxis.Title.Text = "Wartość sygnału";
        myPane.XAxis.Scale.Max = 20;
        myPane.YAxis.Scale.Max = 5;
        myPane.YAxis.Scale.Min = -5;

        PointPairList PairList = new PointPairList();

        double x = 0;

        for (int i = 0; i <= 1000; i++)
        {

            PairList.Add(x, data[i]);
            x += 0.01;
        }


        LineItem ACurve = myPane.AddCurve("Team A", PairList, Color.Red, SymbolType.None);
         zedGraphControl1.Refresh();

        zedGraphControl1.AxisChange();

    }

第一次调用它时一切正常,函数绘制我想要的绘图(点的Y值来自列表数据)。现在,我称之为第二个和每隔一个时间,在第一个上面绘制一条新线(旧线留在图表上)。我希望旧的一个在绘制新的时候消失,我该怎么做才能产生这种效果?

1 个答案:

答案 0 :(得分:1)

您必须先删除旧曲线。如果你只有一条曲线,你将删除带有标签&#34; Team A&#34;的曲线,然后将PairList添加到一个新实例。但是,如果将来需要同时使用多条曲线,则需要将标签作为参数传递给方法。

要仅每次删除一条单独的曲线,请在调用AddCurve之前添加以下代码。索引为-1表示CurveList元素不存在。

int curveIndex = myPane.CurveList.IndexOfTag("Team A");
if (curveIndex != -1)
{
    myPane.CurveList.RemoveAt(curveIndex);
}

您可以删除/添加任意数量的曲线,但您必须有一个标记来标识您希望更改的曲线。标签变量将取代&#34; Team A&#34;上方。