델파이

TeeChar 엑셀 차트처럼 심플한 모양 만들기

미스터몽키 2018. 5. 12. 13:54




그림은 TeeChart의 모양을 엑셀에서 기본적으로 만들어지는 심플한 모양으로 만든 것이다.


엑셀에서 차트를 만들면 기본적으로 심플한 모양이다.

반면 TeeChart는 많은 기능을 초기에 표현하여 단순하게 설정하는 것이 초보자에게는 어려운 일이다.

아마도 모든 기능을 초기에 표현해서 이런 기능이 있다는 것을 개발자에게 알게 하려는 의도인듯..


어째든 단순한 모양을 만드는 설정들을 정리해 둔다.


/* 엑셀 차트처럼 심플하게 TeeChart 만들기 */


Chart>3D>Render>GDI+ 사용하면 AntiAlias 가능

Chart>Walls>Visible Walls = False 외곽선 안보이게


Chart>Axis>Left Axis>Scales>에서

Options>Automatic=False, 

Minimum>Auto=False하고 0

Maximum>Auto=False하고 100


Chart>Axis>Left Axis>Axis>에서

Format>Visible=False


Chart>Axis>Left Axis>Grid>에서

Minor>Count=0


Chart>Axis>Left Axis>Items>Automatic=False로

하면 모든 시리즈를 표시안할 때도 세로 축 흔적은 남는다.


세로축 0 이 표시안될때

Chart>Axis>Left Axis>Items> 0을 (Value, Text)추가 


Chart>Axis>Bottom Axis>Scales>에서

Options>Automatic = False

Minimum>Auto = False하고 0, Offset = 20 왼쪽 여백주기 

Maximum>도 동일 오른쪽 여백주기


Chart>Axis>Bottom Axis>Axis>에서

Format>Visible=False


Chart>Axis>Bottom Axis>Ticks>에서

Format>Visible=False


Chart>Axis>Bottom Axis>Grid>Border에서

Format>Visible=False 중간 세로축 안보이게


Legend 외곽선 표시 안하고 싶을 때

Chart>Legend>Format>Format>Transparent=True


Data 값을 표시할때 외곽틀을 제거하고 싶을때(Marks) 

Series> 각 시리즈마다>Marks>Transparent=True



그리고 모든 Series Y 값을 표시하거나 표시 안하고 싶은 기능은 TChart 위에 TCheckBox 를 올리고

다음과 같이 코딩한다.


//값 표시하기
procedure TfrmSGridmain.CheckBox1Click(Sender: TObject);
var i: integer;
begin
  for i := 0 to Chart1.SeriesCount - 1 do
    Chart1.Series[i].Marks.Visible := TCheckBox(Sender).Checked;
end;
cs