delphi TChart横轴时间不连续时的显示有关问题
delphi TChart横轴时间不连续时的显示问题
TChart的横轴坐标时间不连续时中间会出现大量的点挤在一块,如何能让时间显示平滑的过渡过来,如图所示前面一段时间是连续且均匀变化的,中间一段时间没有数据,过段时间后又有数据,TChart显示时会出现好多重叠点,该如何解决?请大神指教;
代码:
for I:=0 to Length do
begin
ChartPreview.Series[0].AddXY(bufData[I].recvtime,bufData[I].Power);
end;
bufData是一个结构体数组,已从数据库中读出并赋值,数据库中的数据时间不是连续的,有可能中间会隔几天没有数据。


------解决方案--------------------
那就得处理数据了,将数据来源中的数据调整好后再显示在TChar上。
------解决方案--------------------
ChartPreview.Series[0].AddXY( I ,bufData[I].Power, bufData[I].recvtime.tostring );
inc(I)
TChart的横轴坐标时间不连续时中间会出现大量的点挤在一块,如何能让时间显示平滑的过渡过来,如图所示前面一段时间是连续且均匀变化的,中间一段时间没有数据,过段时间后又有数据,TChart显示时会出现好多重叠点,该如何解决?请大神指教;
代码:
for I:=0 to Length do
begin
ChartPreview.Series[0].AddXY(bufData[I].recvtime,bufData[I].Power);
end;
bufData是一个结构体数组,已从数据库中读出并赋值,数据库中的数据时间不是连续的,有可能中间会隔几天没有数据。
------解决方案--------------------
那就得处理数据了,将数据来源中的数据调整好后再显示在TChar上。
------解决方案--------------------
要求是X轴是要用时间表示,不能用整数,我想的有没有一种方法把中间没有数据的X值去掉,直接过渡到后面的数据,比如X值依次为(2014-8-1 8:00:00 ), (2014-8-1 9:00:00 ), (2014-8-1 10:00:00 ), (2014-8-1 11:00:00 ) (2014-8-30 9:00:00 ) ,(2014-8-30 10:00:00 ),(2014-8-30 11:00:00 ) .我的数据是这样的
X值用递增的INT就可以。
ChartPreview.Series[0].AddXY( I ,bufData[I].Power, bufData[I].recvtime.tostring );
inc(I)