다음을 통해 공유


차트 컨트롤에서 데이터 그룹화

그룹화는 계열의 데이터 요소 시퀀스를 하나의 그룹화된 요소로 대체합니다.그룹화된 요소 각각의 X 및 Y 값은 지정된 수식과 사용된 모든 요소의 원래 값을 함께 사용하여 계산됩니다.

그룹화를 사용하면 차트에서 추세를 쉽게 파악할 수 있으므로 데이터 요소가 많은 경우에 특히 유용합니다.

계열의 데이터를 그룹화하기 전에 계열의 데이터를 X 값을 기준으로 오름차순으로 정렬해야 합니다.정렬에 대한 자세한 내용은 데이터 정렬을 참조하십시오.

그룹화 수식

그룹화는 DataManipulator 개체를 사용하여 수행됩니다.그룹화에는 축 레이블 기준 그룹화와 간격 기준 그룹화의 두 가지 유형이 있습니다.빈 요소를 값이 0인 요소로 처리하려면 DataManipulator.IgnoreEmptyPoints 속성을 false로 설정합니다.

GroupGroupByAxisLabel 메서드를 호출하는 경우 수식을 지정해야 합니다.데이터 요소의 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 메서드에서 쉼표로 구분된 계열 이름 목록을 지정하여 여러 계열을 그룹화합니다.

경고

출력 계열을 지정하는 경우 출력 계열 수가 입력 계열 수와 동일해야 합니다.그렇지 않으면 메서드에서 예외가 throw됩니다.

"*"를 입력 계열로 지정하면 메서드에서 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

기타 리소스

데이터 바인딩 및 조작