Delphi 10.1,Windows 10 Pro x64,TeeChart pro 2017.20。 对于有很多点(1471点)的LineSeries图表,我想展示一个选择性的Mark,在代码中定义。 只有当我足够放大窗口时才能看到标记。 在某些情况下,通过一些部分缩放,用鼠标拖动(PAN)图表时会显示和隐藏标记(参见图片)。 Visible Mark Un visible mark, same resolution as previous, just moved (PAN)
另一方面,指针的行为完全符合我的要求。我总能在蚂蚁变焦上看到它。 这是一个用Marks和Pointers进行演示的简短代码:
procedure TForm1.FormCreate(Sender: TObject);
var
Series: tLineSeries;
i: integer;
begin
// Chart settings
Chart1.Align := alClient;
Chart1.View3D := false;
// LineSeries definition
Series:=Chart1.AddSeries(TLineSeries.Create(Self)) as tLineSeries;
Series.FillSampleValues(1471);
// Marks
Series.Marks.Visible := true; // Global flag
//Series.Marks.AutoPosition := false;
//Series.Marks.Automatic.Move:= false;
for i := 0 to Series.Count-1 do
Series.Marks[i].Visible := false;
Series.Marks[506].Visible := true;
// Pointers
Series.Pointer.Visible := true; // Global flag
for i := 0 to Series.Count-1 do
Series.Pointer[i].Visible := false;
Series.Pointer[506].Visible := true;
end;
如何强制Mark的行为与指针相同?
答案 0 :(得分:0)
当有更多标记时,TeeChart会计算最小的“全部绘制”步骤 显示比可用像素。此优化会干扰您的设置 尝试将其设置为跳过此优化:
Series.CalcVisiblePoints:=False;