본문 바로가기

개 발코딩

[C#] DevExpress, Chart control X축 날짜 형태 변경하기

chart Control에서 X축을 DateTime 형식으로 변경했을 때, 기본적인 날짜 형태는 아래와 같이 일 단위 입니다.



여기서 형태를 변경해 보겠습니다.

일단 변경과 관련된 소스는 아래와 같습니다.


ChartControl chartControl1 = new ChartControl(); XYDiagram diagram = (XYDiagram)chartControl1.Diagram; diagram.AxisX.Label.TextPattern = "{A: yy/MM/dd hh:mm}"; diagram.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual; diagram.AxisX.DateTimeScaleOptions.GridSpacing = 1; diagram.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Minute; diagram.AxisX.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Hour;


소스 상에서 TextPattern은 날짜형식입니다. A는 Arguments의 약자로 X축에 표시되는 데이터를 의미합니다. 그리고 ":" 뒤에 날짜 형식을 사용자 임의로 만들수 있습니다. "/" 날짜의 구분자가 되고, ":"는 시간의 구분자가 됩니다. TextPattern에 대한 자세한 사항은 https://documentation.devexpress.com/#CoreLibraries/DevExpressXtraChartsAxisLabel_TextPatterntopic 를 통해서 확인하시고, 날짜 포맷은 https://documentation.devexpress.com/#WindowsForms/CustomDocument2141 를 통해 확인하실 수 있습니다.


그 아래로 데이터를 그래프에 찍는 단위와 X축 시간의 표시 단위를 설정하는 것인데, 일단 ScaleMode를 manual로 설정 합니다. MeasureUnit이 측정된 데이터를 그래프에 표시하는 단위인데, 소스 상에는 분 단위 데이터까지 표시합니다. GridAlignment는 X축의 간격인데, 소스에서는 시간단위로 보여집니다. GridAlignment를 설정하면 줌을 하더라도 X축의 표시 간격은 변경되지 않습니다.


빌드하면 아래와 같이 변경이 됩니다.