Здравствуйте мне нужно построить график.
Для этих целей я хотел использовать ZedGraph, но что то совсем никак.
Просьба помочь.
Код:
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double f(double var1, double var2)
{
double tmp = var2 + (1 + var1) * var2 * var2;
return tmp;
}
double F(double var)
{
double tmp = -1 / var;
return tmp;
}
StreamWriter outStream = new StreamWriter("Stream"); // создали фаил х
StreamWriter inStream = new StreamWriter("Stream1"); // создали фаил у
public void button1_Click(object sender, EventArgs e)
{
int n, i;
double y0, a, b;
a = Convert.ToDouble(textBox1.Text);
b = Convert.ToDouble(textBox2.Text);
n = int.Parse(textBox3.Text);
y0 = Convert.ToDouble(textBox4.Text);
double[] x = new double[n];
double[] y = new double[n];
y[0] = y0;
double h = (b - a) / n;
for (i = 0; i < n - 1; i++)
{
x[i] = a + h * i;
y[i + 1] = y[i] + h * f(x[i], y[i]);
outStream.WriteLine(x[i]);
}
for (i = 0; i < n - 1; i++)
{
y[i + 1] = y[i] + (h / 2) * (f(x[i], y[i]) + f(x[i + 1], y[i + 1]));
inStream.WriteLine(y[i]);
}
inStream.Close();
outStream.Close();
}
// Обработчик события Resize формы с графиком
private void Form1_Resize(object sender, EventArgs e)
{
SetSize();
}
// Фунция изменения размера и положения графика в зависимости от размера формы
private void SetSize()
{
zedGraphControl1.Location = new Point(10, 10); // задаем положение графика
zedGraphControl1.Size = new Size(ClientRectangle.Width - 20, ClientRectangle.Height - 20); // размеры графика
}
// обработчик события Load формы с графиком
private void Form1_Load(object sender, EventArgs e)
{
CreateGraph(zedGraphControl1); // строим график
SetSize(); // и устанавливаем его положение и размер
}
// Функция построения графика
private void CreateGraph(ZedGraphControl zgc)
{
GraphPane myPane = zgc.GraphPane;
// Задаем название графика и сторон
myPane.Title.Text = "Метод Эйлера";
myPane.XAxis.Title.Text = "Ось X";
myPane.YAxis.Title.Text = "Ось Y";
// --------------------------------
// строим график
double x, y;
PointPairList list1 = new PointPairList();
foreach (var a in File.ReadLines("Stream"))
{
foreach (var b in File.ReadLines("Stream1"))
{
x = 'a';
y = 'b';
list1.Add(x, y);
}
}
// ----------------
LineItem myCurve = myPane.AddCurve("smth", list1, Color.Coral, SymbolType.Diamond); // отрисовываем график
zgc.AxisChange();
}