Поделиться через


Группирование данных

В процессе группирования последовательность точек данных в ряде заменяется одной сгруппированной точкой.Значения X и Y для каждой сгруппированной точки вычисляются по указанной формуле в сочетании с исходными значениями каждой используемой точки.

Группирование особенно эффективно для большого количества точек данных и упрощает выявление трендов на диаграмме.

Перед группированием данных ряда убедитесь, что значения ряда отсортированы по возрастанию значения X.Дополнительные сведения о сортировке см. в разделе Сортировка данных.

Формулы группирования

Группирование выполняется с применением объекта DataManipulator.Возможно группирование двух типов: по метке оси и по интервалу.Если нужно обрабатывать пустые точки как точки с нулевыми значениями, установите свойство DataManipulator.IgnoreEmptyPoints в значение false.

Во время вызова методов Group и GroupByAxisLabel необходимо указать формулу.Можно указать отдельную формулу для некоторых или для всех значений Y точки данных.Необходимо указать хотя бы одну формулу (в этом случае она будет использоваться для вычисления всех значений Y для точки).

Параметр формулы имеет следующий формат:

"formula[, value:formula, [value:formula[,...]]]"

Здесь formula представляет имя формулы, value — имя значения Y для точки данных, к которому применяется формула (например, Y2).

Если использовать в процедуре группирования строку формулы "AVE, X:CENTER, Y2:MAX", получится следующий результат:

  • сгруппированные точки будут помещены в центр своих интервалов;

  • для всех значений Y2 сгруппированных точек будет использоваться максимальное значение Y2 среди всех входных точек;

  • будет вычислено среднее для всех значений Y.

В следующей таблице приводится список этих формул и описание выполняемых ими действий.Учтите, что формулой по умолчанию для значений X (которая применяется, если не указана ни одна формула), является формула FIRST.Также заметьте, что формулы для значений X просто определяют расположение результирующих точек данных для указанного интервала (например, по левой или правой границе интервала или в центре интервала).

ПримечаниеПримечание

По умолчанию для вычисления значений X применяется формула FIRST.

Формула

Описание

Используется для значения X

AVE

Среднее значение для всех точек данных в заданном интервале.

Нет.

MAX

Максимальное значение среди всех точек данных в заданном интервале.

Нет.

MIN

Минимальное значение среди всех точек данных в заданном интервале.

Нет.

SUM

Общее значение всех точек данных в заданном интервале.

Нет.

LAST

Последнее значение среди всех точек данных в заданном интервале.

Да.Новые точки данных размещаются на крайней справа границе среди всех интервалов.

FIRST (по умолчанию)

Первое значение среди всех точек данных в заданном интервале.

Да.Новые точки данных размещаются на крайней слева границе среди всех интервалов.

HiLoOpCl

Вычисляет самое большое значение, самое маленькое значение, открывающее значение и закрывающее значение.Открывающее значение представляет первое значение на интервале, а закрывающее — последнее значение на интервале.

ПримечаниеПримечание
Эта формула возвращает четыре значения Y, и ее следует использовать только для типов диаграмм, которые используют четыре значения Y (например,диаграмма «японские свечи»).

Нет.

HiLo

Самое большое и самое маленькое значение среди всех точек данных в заданном интервале.

ПримечаниеПримечание
Эта формула возвращает два значения Y, и ее следует использовать только для типов диаграмм, которые используют два значения Y (например,пузырьковые диаграммы).

Нет.

Count

Количество точек данных, сгруппированных в одну точку.

Нет.

DistinctCount

Количество точек данных, сгруппированных в одну точку.Точки данных, у которых совпадают основные значения Y, считаются одной точкой.

Нет.

Variance

Дисперсия между всеми точками данных в заданном интервале.

Нет.

Deviation

Отклонение между всеми точками данных на заданном интервале.

Нет.

Center

Отклонение между всеми точками данных на заданном интервале.

Да.Новые точки данных помещаются в центрах интервалов.

Группирование по интервалу

Для группирования по интервалу используется метод Group.Этот метод разбивает точки данных ряда на интервалы по значениям X, а затем заменяет каждый интервал единственной точкой.

В следующем коде показано группирование по кварталам и сохранение результирующего ряда в ряд с именем ResultSeries.

' Group points by year quarters.
Chart1.DataManipulator.Group("AVE", 3, IntervalType.Months, "MySeries", "ResultSeries")
// Group points by year quarters.
Chart1.DataManipulator.Group("AVE", 3, IntervalType.Months, "MySeries", "ResultSeries");

Группирование по меткам оси

Для группирования по меткам оси используется метод GroupByAxisLabel.Этот метод группирует все точки данных с одинаковым значением свойства AxisLabel и вычисляет результирующее значение Y по указанной формуле.

ПримечаниеПримечание

В результате этой операции группирования точки данных сортируются по значению свойства AxisLabel в порядке возрастания.

В следующем примере кода группируются точки данных, представляющие отдельные значения продаж.В примере предполагается, что значения X точек данных привязаны к строке, где хранятся имена менеджеров по продажам, причем каждое имя хранится в свойстве AxisLabel.В примере складываются суммы продаж для каждого менеджера по продажам, а итоговые данные по менеджерам выводятся во входной ряд (выходной ряд по умолчанию).

' Group by salesperson name, and display total sale amounts.
Chart1.DataManipulator.GroupByAxisLabel("SUM", "GoldMedals")
// Group by salesperson name, and display total sale amounts.
Chart1.DataManipulator.GroupByAxisLabel("SUM", "GoldMedals");

Группирование нескольких рядов

Чтобы сгруппировать несколько рядов, укажите список имен рядов с разделителями-запятыми в методе Group или GroupByAxisLabel.

ПредупреждениеВнимание!

Если указываются выходные ряды, то их число должно совпадать с числом входных рядов.В противном случае метод создает исключение.

Если указать в качестве входного ряда «*», то метод группирует все ряды из коллекции Chart.Series.

В этом примере группируются два ряда: MySeries1 и MySeries2.

' Group two series by week, using averaged Y values.
Chart1.DataManipulator.Group("AVE", 1, IntervalType.Weeks, "MySeries1, MySeries2")
// Group two series by week, using averaged Y values.
Chart1.DataManipulator.Group("AVE", 1, IntervalType.Weeks, "MySeries1, MySeries2");

См. также

Справочник

System.Windows.Forms.DataVisualization.Charting

System.Web.UI.DataVisualization.Charting

Другие ресурсы

Привязка и обработка данных