Шпаргалка по 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 (); } } Вернуться к остальным примерам Пожалуйста, оцените материал
|