I have some partial success.
The following code:
uses ... TAGraph, TAIntervalSources, TASeries, TAChartUtils, TACustomSource...
procedure TForm1.Button2Click(Sender: TObject);
var
MyChart: TChart;
MySeries: TLineSeries;
MyScaleXMarks: TDateTimeIntervalChartSource;
i:integer;
begin
MyChart:= TChart.Create(Self);
MyChart.Parent:= Self;
MyScaleXMarks:=TDateTimeIntervalChartSource.Create(Self);
MyScaleXMarks.Params.Count:=5;
MyScaleXMarks.Params.Options:=[aipUseCount,aipUseNiceSteps];
MyScaleXMarks.Steps:=[dtsHour,dtsMinute,dtsSecond,dtsMillisecond];
MyScaleXMarks.DateTimeFormat:='hh:mm:ss.ss';
MyChart.BottomAxis.Marks.Format:='%2:s';
MyChart.BottomAxis.Marks.Source:=MyScaleXMarks;
MySeries:=TLineSeries.Create (MyChart);
MyChart.AddSeries(MySeries);
for i:= 0 to 3600 do
MySeries.AddXY(i/(3600*24),5*sin(i/100));
end;
Scales are shown, but:
1. One X unit does not correspond to 1 sec, but to 3600*24 seconds, so I have to divide the X values.
2. Milliseconds are separated by a dot, instead of a comma, I wrote hh:mm:ss.ss by memory, maybe I did something wrong.