在c#中使用ZedGraph

时间:2013-03-20 18:45:44

标签: c# zedgraph

A有问题。 Zedgraph为我的等式绘制了错误的图形。

我的代码:

private void button1_Click(object sender, EventArgs e)
{
    double a, b, c, dl;
    a = float.Parse(textBox1.Text);
    b = float.Parse(textBox2.Text);
    c = float.Parse(textBox3.Text);
    dl = (b * b) - (4 * a * c);
    if (dl < 0)
    {
        MessageBox.Show("Error");
    }
    else if (dl > 0)
    {
        x1 = (-b - Math.Sqrt(dl)) / (2 * a);
        x2 = (-b + Math.Sqrt(dl)) / (2 * a);
        textBox4.Text = x1.ToString();
        textBox5.Text = x2.ToString();
    }
    else
    {
        string str = (b / (2 * a)).ToString();
        textBox4.Text = str;
        textBox5.Text = str;
    }
}

private void Form1_Load(object sender, EventArgs e)
{
}

private void button2_Click(object sender, EventArgs e)
{
    // This is to remove all plots
    zedGraphControl1.GraphPane.CurveList.Clear();

    // GraphPane object holds one or more Curve objects (or plots)
    GraphPane myPane = zedGraphControl1.GraphPane;
    PointPairList spl1 = new PointPairList();
    // Add cruves to myPane object
    LineItem myCurve1 = myPane.AddCurve("Equation", spl1, Color.Blue, SymbolType.None);
    myCurve1.Line.Width = 5.0F;
    myPane.Title.Text = "Graph";
    for (int i = -5; i < 8; i++)
    {
        double y = (i - x1) * (i - x2);
        spl1.Add(i, y);
    }

     //I add all three functions just to be sure it refeshes the plot.   
    zedGraphControl1.AxisChange();
    zedGraphControl1.Invalidate();
    zedGraphControl1.Refresh();
}

1 个答案:

答案 0 :(得分:0)

试试这个:

private void button2_Click(object sender, EventArgs e)
{
    // This is to remove all plots
    zedGraphControl1.GraphPane.CurveList.Clear();

    // GraphPane object holds one or more Curve objects (or plots)
    GraphPane myPane = zedGraphControl1.GraphPane;
    PointPairList spl1 = new PointPairList();

    LineItem lineItem = new LineItem("Equation");
    myCurve1.Line.Width = 5.0F;
    myPane.Title.Text = "Graph";
    for (int i = -5; i < 8; i++)
    {
       double y = (i - x1) * (i - x2);
        spl1.Add(i, y);
    }

   // Add cruves to myPane object
    myCurve1 = myPane.AddCurve("Equation", spl1, Color.Blue, SymbolType.None);


     //I add all three functions just to be sure it refeshes the plot.   
    zedGraphControl1.AxisChange();
    zedGraphControl1.Invalidate();
    zedGraphControl1.Refresh();

}

在构建LineItem myCurve1 = myPane.AddCurve("Equation", spl1, Color.Blue, SymbolType.None);列表后,我移动了spl1。看看它是否适合你