Последние изменения - Поиск:
RSS блога RSS блога

Начало

Блог

Программки

    Google+

Плагины

Программирование

Фото

Контакты

Я в твиттере Я в ЖЖ

Шпаргалка по ZedGraph. Как построить график y = f(x) по точкам

Все примеры объединены в одном 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.5 stars Рейтинг 4.1/5. Всего 38 голос(а, ов)




Подписаться на комментарии
Автор:
Тема:
 Ваш комментарий
 
 
Введите код 773
 

Культа 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();

Править - История - Печать - Последние изменения - Поиск
Последняя редакция от 04.02.2012 18:40