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

Начало

Программки

Плагины

Софт-обзоры

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

Фото

Разное

Блог

Контакты

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

Шпаргалка по ZedGraph. Как добавлять и удалять кривые

Этот пример показывает как в компонент ZedGraph можно добавлять новые кривые и удалять существующие. Кнопка "Добавить" в главном окне добавляет график по случайным точкам случайного цвета, а кнопка "Удалить" удаляет случайный график.

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

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

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

        // Массив цветов, из которых будем выбирать случайным образом цвет для графика
        Color[] _colors = new Color[] {Color.Black,
            Color.Blue,
            Color.Brown,
            Color.Gray,
            Color.Green,
            Color.Indigo,
            Color.Orange,
            Color.Red,
            Color.YellowGreen};

        /// <summary>
        /// Обработчик нажатия на кнопку "Добавить"
        /// </summary>
        private void addBtn_Click (object sender, EventArgs e)
        {
            // Для генерации случайных точек и случайного цвета кривой
            Random rnd = new Random ();

            GraphPane pane = zedGraph.GraphPane;

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

            double xmin = -50;
            double xmax = 50;

            // Заполняем список точек. Приращение по оси X тоже случайно
            for (double x = xmin; x <= xmax; x += rnd.NextDouble () * 10 + 1)
            {
                // Случайная координата по Y
                double y = rnd.NextDouble () * 10 - 5;

                // добавим в список точку
                list.Add (x, y);
            }

            // Выберем случайный цвет для графика
            Color curveColor = _colors[rnd.Next (_colors.Length)];
            LineItem myCurve = pane.AddCurve ("", list, curveColor, SymbolType.None);

            // Включим сглаживание
            myCurve.Line.IsSmooth = true;

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

        /// <summary>
        /// Обработчик нажатия на кнопку "Удалить"
        /// </summary>
        private void removeBtn_Click (object sender, EventArgs e)
        {
            // Генератор случайных чисел для выбора номера графика, который нужно удалить
            Random rnd = new Random ();

            GraphPane pane = zedGraph.GraphPane;

            // Если есть что удалять
            if (pane.CurveList.Count > 0)
            {
                // Номер графика для удаления
                int index = rnd.Next (pane.CurveList.Count);

                // Удалим кривую по индексу
                pane.CurveList.RemoveAt (index);

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

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

Пожалуйста, оцените материал

5 stars Рейтинг 5.0/5. Всего 1 голос(а, ов)



Автор:
Тема:
 Ваш комментарий
 
 
Введите код 761
 
Править - История - Печать - Последние изменения - Поиск
Последняя редакция от 05.01.2010 17:35