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

Начало

Программки

Плагины

Софт-обзоры

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

Фото

Разное

Блог

Контакты

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

Шпаргалка по ZedGraph. Что такое кластеры и как их использовать в гистограммах

Интересной особенностью при построении гистограмм с помощью компонента ZedGraph является то, что он может объединять несколько гистограмм в так называемые кластеры, когда на одной отметке располагаются несколько столбцов.

Этот пример показывает как создавать кластеры и регулировать расстояние между столбцами внутри кластера. Чтобы регулировать расстояние между самими кластерами, смотрите пример Как сделать так, чтобы столбцы в гистограмме прилегали друг к другу вплотную.

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

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

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

        DrawGraph ();
    }

    private void DrawGraph ()
    {
        // Получим панель для рисования
        GraphPane pane = zedGraph.GraphPane;

        // Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы
        pane.CurveList.Clear ();

        int itemscount = 5;

        Random rnd = new Random ();

        // Высоты столбиков
        double[] YValues1 = new double[itemscount];
        double[] YValues2 = new double[itemscount];
        double[] YValues3 = new double[itemscount];

        double[] XValues = new double[itemscount];

        // Заполним данные
        for (int i = 0; i < itemscount; i++)
        {
            XValues[i] = i + 1;

            YValues1[i] = rnd.NextDouble ();
            YValues2[i] = rnd.NextDouble ();
            YValues3[i] = rnd.NextDouble ();
        }

        // Создадим три гистограммы
        // Так как для всех гистограмм мы передаем одинаковые массивы координат по X,
        // то столбики будут группироваться в кластеры в этих точках.
        BarItem bar1 = pane.AddBar ("Values1", XValues, YValues1, Color.Blue);
        BarItem bar2 = pane.AddBar ("Values2", XValues, YValues2, Color.Red);
        BarItem bar3 = pane.AddBar ("Values3", XValues, YValues3, Color.Yellow);

        // !!! Расстояния между столбиками в кластере (группами столбиков)
        pane.BarSettings.MinBarGap = 0.0f;

        // !!! Увеличим расстояние между кластерами в 2.5 раза
        pane.BarSettings.MinClusterGap = 2.5f;


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

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

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

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

0 stars Пока еще нет оценок




Подписаться на комментарии
Автор:
Тема:
 Ваш комментарий
 
 
Введите код 206
 
Править - История - Печать - Последние изменения - Поиск
Последняя редакция от 08.01.2010 15:41