在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();
}
试试这个:
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
列表后完成。看看是否适合你