2011-01-25 3 views
3

У меня есть серия из 3600 значений, каждый раз в секунду в течение часа. Я хочу наметить их как одну серию, используя TChart в Delphi 7.Нанесение TChart со временем по оси X

Значения должны быть построены по оси Y. Что я должен передать в AddXY() как значение оси X? Количество баллов?

Я хочу обозначить ось 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, поэтому у вас нет шкалы Datetime по оси y – 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, поэтому у вас нет шкалы Datetime по оси y – Bharat

+0

@Bharat: Я думаю, что LeonixSolutions хочет использовать только метки, такие как «nn: ss» для оси X. – SimaWB