IT정보공유/C#

C# DevExpress XtraChart 3D Pie 차트 그리기

알지오™ 2020. 3. 6.

C# Winform 응용프로그램을 개발할 때 많이 사용되는 상용 컴포넌트인

데브익스프레스 (DevExpress)의 XtraChart 컨트롤을 이용한 원형차트, 파이차트 그리는 샘플코드입니다.

아래와 같은 1위 부터 5위까지의 알림 건수를 가지고 차트를 만들어 볼 겁니다.

 

알림 건수

 

DevExpress XtraChart Pie3D

 

Pie3D 차트

 

위 차트를 Pie 3D 차트라고 부릅니다. 파이처럼 생겼고 입체감을 더했기 때문이에요.

그건 뭐 중요하지 않습니다.

 

DevExpress 차트 컨트롤을 우선 폼위에 기본적으로 얹어만 놓고 아무런 옵션도 주지 않은 채

Series는 코딩을 통해 동적생성 하는 샘플 코드입니다.

 

chartTop5.DataSource = dtTop5; //dtTop5 는 위 표에서 나온 데이터를 담고 있는 DataTable
chartTop5.Series.Clear(); //차트 시리즈 초기화


int iIndex = chartTop10.Series.Add("", DevExpress.XtraCharts.ViewType.Pie3D);
chartTop5.Series[iIndex].LegendTextPattern = "{A}";

((Pie3DSeriesView)chartTop5.Series[iIndex].View).ExplodeMode = PieExplodeMode.MaxValue;

for (int i=0;i<dtTop5.Rows.Count-1;i++)
{
    //필드명 AreaName : 알림, cnt : 알림건수
    SeriesPoint pt = new SeriesPoint(dtTop5.Rows[i]["AreaName"].ToString(), dtTop5.Rows[i]["cnt"].ExToInt());
    chartTop5.Series[iIndex].Points.Add(pt);
}

 

시리즈는 DevExpress.XtraCharts.ViewType.Pie3D 로 1개만 생성하고, 그 Series에 SeriesPoint를 추가하면 됩니다.

LegendTextPattern = "{A}" 를 지정하지 않으면 디폴트로 값이 표시됩니다.

값 표시가 아닌 AreaName을 표시하기 위해서 LegendTextPattern을 "{A}"로 지정해 주었습니다.

간단하죠? 백문이 불여일타!

댓글

💲 추천 글