在c#中使用ZedGraph

本文关键字:ZedGraph | 更新日期: 2023-09-27 18:04:51

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();
}

在c#中使用ZedGraph

试试这个:

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列表后完成。看看是否适合你