2011-01-25 3 views
3

일련의 3,600 값을 1 시간마다 1 초씩 가지고 있습니다. Delphi 7에서 TChart를 사용하여 단일 시리즈로 차트를 만들고 싶습니다.X 축으로 시간이있는 TChart 플로팅

값은 Y 축에 플롯되어야합니다. X 축 값으로 AddXY()에 무엇을 전달해야합니까? 포인트 수?

X 축에 MM : SS라고 레이블을 지정하고 싶습니다. 어떻게해야합니까? 이걸 넘어서는 무엇이 필요한가요? ...

Chart1.Series[0].XValues.DateTime := True; 
    Chart1.BottomAxis.DateTimeFormat := 'nn:ss'; 

나는 이걸 가지고 얼마간 붙어있다. 누구든지 샘플 코드를 게시 할 수 있습니까? 감사합니다

답변

3

내가 잘못 아니에요 경우, 이것은 당신이

Series1.AddXY(<Pass the data value>, <Pass Your value>, '', clRed); 
Series1.AddXY(now,      1, '', clRed); 
Series1.AddXY(now + (1 /(24*60*60)), 2, '', clRed); //After 1 seconds 
Series1.AddXY(now + (2 /(24*60*60)), 3, '', clRed); //After 2 seconds 
+0

+1 그렇습니다. Add()가 AddXY()보다 나을 것 같습니다. Thnaks – Mawg

+2

@Leonix : Add() 함수의 문제점은 실제로 문자열을 추가하고 DateTime을 추가하지 않으므로 y 축에 Datetime 축척이 적용되지 않습니다. – Bharat

+0

좋은 점. 너는 무엇을 제안 하는가? – Mawg

3

당신은 대신 AddXY의 기능을 추가 사용할 수 있습니다 원하는 것입니다.

Add(100, FormatDateTime('nn:ss',Now), clRed); 
Add(80, FormatDateTime('nn:ss',Now), clRed); 
+0

+1 이것은 내가 원하는 것처럼 보입니다. 나는 그것을 밖으로 시도하고 당신에게 돌아갑니다. 감사합니다 – Mawg

+0

Add() 함수의 문제는 실제로 문자열을 추가하지만 DateTime이 아니므로 y 축에 Datetime 축척이 없습니다. – Bharat

+0

@Bharat : LeonixSolutions는 X 축에 대해 'nn : ss'와 같은 레이블 만 원한다고 생각합니다. – SimaWB

관련 문제