0

問題があります。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();
}
4

1 に答える 1

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リストを作った後に、私はやるべきことを移しました。それがあなたのために働くかどうか見てください

于 2013-03-20T18:59:20.047 に答える