Шпаргалка по ZedGraph. Как изменять положение легенды графика | jenyay.net

Шпаргалка по ZedGraph. Как изменять положение легенды графика

Чтобы изменять положение легенды относительно графика служит свойство Position класса Legend. Это свойство представляет собой перечисление LegendPos. Используя LegendPos.Top, LegendPos.Left, LegendPos.InsideBotRight, LegendPos.TopCenter и т.п. можно легко менять положение легенды относительно графика. Однако, при использовании LegendPos.Float можно более гибко задавать положение легенды. Это и продемонстрировано в данном примере.

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

Проект в примере - LegendPosition

    public partial class Form1 : Form
    {
        public Form1 ()
        {
            InitializeComponent ();

            DrawGraph ();
        }


        private double func1 (double x)
        {
            return -x * x + 20;
        }


        private double func2 (double x)
        {
            return -2 * x * x + 10;
        }


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

            // Очистим список кривых
            pane.CurveList.Clear ();

            // Создадим списки точек для двух кривых
            PointPairList list1 = new PointPairList ();
            PointPairList list2 = new PointPairList ();

            double xmin = -5;
            double xmax = 5;

            // Заполняем списки точек
            for (double x = xmin; x <= xmax; x += 0.01)
            {
                // Добавим точку в список
                list1.Add (x, func1 (x));
                list2.Add (x, func2 (x));
            }

            // Создадим кривые
            LineItem curve1 = pane.AddCurve ("-x ^ 2 + 20", list1, Color.Blue, SymbolType.None);
            LineItem curve2 = pane.AddCurve ("-2 * x ^ 2 + 10", list2, Color.Black, SymbolType.None);


            // !!!
            // Указываем, что расположение легенды мы будет задавать
            // в виде координат левого верхнего угла
            pane.Legend.Position = LegendPos.Float;

            // Координаты будут отсчитываться в системе координат окна графика
            pane.Legend.Location.CoordinateFrame = CoordType.ChartFraction;

            // Задаем выравнивание, относительно которого мы будем задавать координаты
            // В данном случае мы будем располагать легенду справа внизу
            pane.Legend.Location.AlignH = AlignH.Right;
            pane.Legend.Location.AlignV = AlignV.Bottom;

            // Задаем координаты легенды
            // Вычитаем 0.02f, чтобы был небольшой зазор между осями и легендой
            pane.Legend.Location.TopLeft = new PointF (1.0f - 0.02f, 1.0f - 0.02f);        


            // Вызываем метод AxisChange (), чтобы обновить данные об осях.
            zedGraph.AxisChange ();

            // Обновляем график
            zedGraph.Invalidate ();
        }
    }

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


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

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




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