레이블

레이블의 속성은 축의 LabelStyle 속성으로 조정하며 이는 또 다른 객체이다. LabelStyle의 멤버는 다음과 같다.

 

속성

설명

Format

레이블의 포맷이다. 시간인 경우 yyyy-MM-dd HH:mm:ss 식으로 시간 요소를 포맷팅한다. 실수는 0#.## 식으로 선행 제로와 소수점 이하의 정밀도를 지정한다.

Font

레이블의 폰트를 지정한다.

Fore​Color

레이블의 색상을 지정한다. 디폴트는 검정색이다.

Enabled

레이블 표시 여부를 지정한다. false이면 레이블을 숨긴다.

Angle

레이블의 각도를 지정한다.

Interval

레이블의 간격

Interval​Type

간격의 타입

Interval​Offset

레이블의 시작점

Interval​Offset​Type

레이블 시작점의 타입

Is​End​Label​Visible

마지막 레이블 표시 여부

Is​Staggered

레이블을 지그재그로 계단 형태로 표시할 것인지를 지정한다.

Truncated​Labels

레이블의 일부가 잘려도 상관 없는지 지정한다.

 

레이블이 문자열이기 때문에 폰트와 관련된 속성이 많다. 다음 코드를 작성해 보자.

 

ax.LabelStyle.Format = "HH mm";

ax.LabelStyle.Font = new Font("궁서", 15);

ax.LabelStyle.ForeColor = Color.Red;

ax.LabelStyle.Angle = -45;

 

레이블에 한글이 궁서체 빨간색으로 표시되며 각도를 45도로 기울여 표시한다.

-90으로 각도를 지정하면 수직으로 레이블을 표시한다. IsStaggered 속성을 true로 지정하면 각도 속성은 무시되며 레이블이 2층으로 계단을 이루어 표시된다. 이처름 속성끼리 상호 배타적인 경우도 있다.

 

ax.LabelStyle.IsStaggered = true;

IntervalIntervalType 속성은 축 자체에도 있고 레이블에도 있는데 이 두 속성은 적용되는 곳이 다르다. 축의 속성은 틱 마크와 그리드, 레이블 등에 모두 적용되는데 비해 레이블의 속성은 레이블에만 지역적으로 적용된다. 다음 코드로 확인해 보자.

 

ax.IntervalType = DateTimeIntervalType.Minutes;

ax.Interval = 2;

ax.LabelStyle.IntervalType = DateTimeIntervalType.Minutes;

ax.LabelStyle.Interval = 5;

 

축의 간격은 2분으로 지정하고 레이블의 간격은 5분으로 지정했다. 출력 형태를 잘 관찰해 보자.

틱마크와 그리드는 2분에 하나씩 표시되지만 레이블은 5분에 하나씩 표시된다. 틱마크는 3분에 하나씩 표시하고 레이블은 1분에 하나씩 표시할 수도 있다.

IntervalOffset은 레이블의 시작점을 지정한다. 이 속성의 의미를 알아 보려면 간격이 좀 있어야 한다. 레이블의 간격을 3분으로 지정하면 다음과 같이 표시된다.

정각, 3, 6, 9분 식으로 레이블이 표시되는데 이 경우는 오프셋이 0이다. 오프셋을 지정하면 그만큼 건너뛴 후 레이블을 표시한다.

 

ax.IntervalOffset = 1;

ax.IntervalOffsetType = DateTimeIntervalType.Minutes;

 

IntervalOffset1로 지정하면 제일 처음부터 1분 건너 뛰고 3분 간격으로 레이블을 표시한다.

1, 4, 7분 식으로 레이블이 표시된다. 2로 지정하면 2, 5, 8 식으로 증가하며 3으로 지정하면 0으로 지정한 것과 같다. IntervalOffset 속성은 축 자체에도 있어 틱 마크와 그리드의 시작점도 지정할 수 있다.