目前,我有一个包含多个系列的DBChart。我把每个记录的日期时间放在x轴上。
现在,我需要的是更改运行时的日期时间。所以基本上,第一个记录的日期时间将代表0.0小时。
这是我的意思的一些例子:
基本上,图表显示了我在数据库中开始和停止记录我的值之间发生的事情。更重要的是要知道自录制开始以来必须经过多少时间。
那么,DBChart中是否有一个函数或其他方法可以帮助我做到这一点?
感谢您的帮助
答案 0 :(得分:0)
您可以使用OnGetAxisLabel
事件来计算差异并显示它。即:
var startDate: TDateTime;
procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
begin
Series1.FillSampleValues(10);
startDate:=StrToDateTime('08/02/2017 10:00:00');
Series1.XValue[0]:=startDate;
for i:=1 to Series1.Count-1 do
Series1.XValue[i]:=Series1.XValue[i-1]+Round(random*10)*DateTimeStep[dtTenMinutes];
end;
procedure TForm1.Chart1GetAxisLabel(Sender: TChartAxis; Series: TChartSeries;
ValueIndex: Integer; var LabelText: string);
var tmpDate: TDateTime;
begin
if (Sender = Chart1.Axes.Bottom) then
begin
tmpDate:=StrToDateTime(LabelText);
tmpDate:=tmpDate-startDate;
LabelText:=FormatDateTime('hh:mm:ss', tmpDate);
end;
end;