如何在巨大的TeeChart FastLine系列的每个像素上绘制最小值和最大值,而DrawAllPoints:= false?

问题描述 投票:0回答:1

使用Delphi 10.3,VCL和内置标准TeeChart。 Windows 10 x64。

我有数以百万计的庞大数据样本可供查看。我的目标是显示与每个像素有关的最小值和最大值。即由于一个像素的屏幕抽取而在数据段中绘制的最小值和最大值。

由于处理时间的响应,我尝试了DrawAllPoints:= false。它快了30倍!我认为在这种情况下,TeeChart正在从相关细分中提取第一个样本的值。因此,未绘制最小值/最大值。使用DrawAllPoints:= true,一切都很好。

我也允许用户缩放/缩放。

enter image description here

我可以定义自己的简短TeeChart系列,但仅限于我自己的像素数量。但是,由于用户的“缩放”选项,它并不是那么简单。

TeeChart中有此功能吗?即DrawAllPoints:= false,同时在每个像素上绘制段的最小值和最大值。也许有回叫例程或继承例程,我可以强制这种行为?

谢谢。

delphi teechart
1个回答
0
投票

将系列的DrawAllPointsStyle属性设置为daMinMax

似乎确实存在一些差异。

 for var i := 1 to 100000 do begin
    Series1.Add(Sin(i/10000) + Random); // left one, daMinMax is set
    FastLineSeries1.Add(Sin(i/10000) + Random);
  end;

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.