Все примеры объединены в одном solution для Visual Studio 2005 и написаны на языке C#, скачать их можно отсюда (1.7 МБ).
Проект в примере - SimpleSignal
private double f (double x)
{
if (x == 0)
{
return 1;
}
return Math.Sin (x) / x;
}
private void DrawGraph ()
{
// Получим панель для рисования
GraphPane pane = zedGraph.GraphPane;
// Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы
pane.CurveList.Clear ();
// Создадим список точек
PointPairList list = new PointPairList ();
double xmin = -50;
double xmax = 50;
// Заполняем список точек
for (double x = xmin; x <= xmax; x += 0.01)
{
// добавим в список точку
list.Add (x, f(x));
}
// Создадим кривую с названием "Sinc",
// которая будет рисоваться голубым цветом (Color.Blue),
// Опорные точки выделяться не будут (SymbolType.None)
LineItem myCurve = pane.AddCurve ("Sinc", list, Color.Blue, SymbolType.None);
// Вызываем метод AxisChange (), чтобы обновить данные об осях.
// В противном случае на рисунке будет показана только часть графика,
// которая умещается в интервалы по осям, установленные по умолчанию
zedGraph.AxisChange ();
// Обновляем график
zedGraph.Invalidate ();
}
Вернуться к остальным примерам
Пожалуйста, оцените материал
Рейтинг 4.1/5. Всего 38 голос(а, ов)
Культа 18.10.2009 - 01:38
Вот у меня есть точки определённые на графике. Как мне их обвести чтоли на графике??
Ну в общем есть 2 графика, и мне надо выделить пару банальных точек.
как это сделать?
Jenyay 18.10.2009 - 08:55
@Культа
Посмотрите этот пример. Можно нужные точки отдельно нарисовать.
graber 27.11.2009 - 16:39
а как убрать график?
то есть, например, по нажатия левой кнопкой у меня рисуется график, а по нажатию правой удаляется.
пробовал использовать myCurve.Clear(), но не получается.
Jenyay 27.11.2009 - 21:27
Попробуйте pane.CurveList.Remove(...). В принципе, список кривых - это pane.CurveList.
graber 29.11.2009 - 21:34
не работает почему-то...
может я что-то не так делаю?
на графике рисуются несколько линий, по нажатию на кнопку должна убраться одна линия.
в обработчике сообщения нажатия по кнопке пишу:
private void button2_MouseClick(object sender, MouseEventArgs e)
{
flag1 = false;
}
в функциии рисования графика пишу:
if (flag1 == false)
{
myPane.CurveList.Remove(myCurve1);
zgc.Invalidate();
}
Jenyay 02.12.2009 - 22:08
graber, не обещаю, но постараюсь в выходные пример с удалением линий
graber 06.12.2009 - 23:13
спасибо большое, уже разобрался...
надо было прописывать zedGraphControl1.Refresh();