Шпаргалка по ZedGraph. Что такое RadarPointList

ZedGraph не может рисовать графики в полярной системе координат, для этого нужно самостоятельно пересчитывать координаты в декартову систему координат. Однако, есть класс, который может облегчить задачу, если нужно нарисовать замкнутую кривую (ломаную), у которой точки, по которым строится кривая, разбросаны равномерно по углам. Именно для этого и предназначен класс RadarPointList. Проще всего его действие показать на примере.

Все примеры объединены в одном solution для Visual Studio 2005 и написаны на языке C#, скачать их можно отсюда (1.7 МБ).

Проект в примере - RadarPoint.

private void DrawGraph ()
{
    GraphPane pane = zedGraph.GraphPane;

    pane.CurveList.Clear ();

    pane.XAxis.MajorGrid.IsVisible = true;
    pane.YAxis.MajorGrid.IsVisible = true;

    pane.YAxis.MajorGrid.IsZeroLine = false;

    // Создаем список точек
    RadarPointList points = new RadarPointList ();


    // Т.к. в списке будет 4 точки, то и окружность будет разбиваться на 4 части
    // Обход точек будет осуществляться против часовой стрелки
    points.Clockwise = false;

    // Первая точка - сверху над началом координат. Расстояние до центра = 1. Второй параметр в большинстве случаев не используется
    points.Add (1, 1);

    // Вторая точка - слева от начала координат.  Расстояние до центра = 2
    points.Add (2, 1);

    // Третья точка - снизу под началом координат.  Расстояние до центра = 3
    points.Add (3, 1);

    // Четвертая точка - справа от начала координат.  Расстояние до центра = 4
    points.Add (4, 1);


    // Добавляем кривую по этим четырем точкам
    LineItem myCurve = pane.AddCurve ("", points, Color.Black, SymbolType.None);


    // Для наглядности нарисуем расстояния от начала координат до каждой из точек
    ArrowObj arrow1 = new ArrowObj (0, 0, 0, 1);
    pane.GraphObjList.Add (arrow1);

    ArrowObj arrow2 = new ArrowObj (0, 0, -2, 0);
    pane.GraphObjList.Add (arrow2);

    ArrowObj arrow3 = new ArrowObj (0, 0, 0, -3);
    pane.GraphObjList.Add (arrow3);

    ArrowObj arrow4 = new ArrowObj (0, 0, 4, 0);
    pane.GraphObjList.Add (arrow4);

    // Отметим начало координат черным квадратиком
    BoxObj box = new BoxObj (-0.05, 0.05, 0.1, 0.1, Color.Black, Color.Black);
    pane.GraphObjList.Add (box);           

    zedGraph.AxisChange ();        

    zedGraph.Invalidate ();
}

Вернуться к остальным примерам

Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
5 stars

Рейтинг 4.6/5. Всего 7 голос(а, ов)



Писарь 06.03.2015 - 17:58

Как вывести на график координаты точек в полярной системе координат?


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