TeeChart 如何强制标记的行为与指针相同?
TeeChart How to force a Mark to behave the same as a Pointer?
Delphi 10.1,Windows 10 Pro x64,TeeChart pro 2017.20。
对于有很多点(1471 点)的 LineSeries 图表,我想显示一个在代码中定义的选择性标记。
只有当 window 足够大时,我才能看到标记。
在某些情况下,使用鼠标右键拖动 (PAN) 图表时,通过部分缩放,标记会显示和隐藏(见图片)。
Visible Mark
Un visible mark, same resolution as previous, just moved (PAN)
另一方面,指针的行为完全符合我的要求。我总能在 ant zoom 上看到它。
这是一个带有标记和指针的简短代码用于演示:
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;
如何强制标记与指针的行为相同?
TeeChart 计算最小 "Draw Every" 步骤,当有更多标记时
显示比可用像素。此优化会干扰您的设置。
尝试设置此项以跳过此优化:
Series.CalcVisiblePoints:=False;
Delphi 10.1,Windows 10 Pro x64,TeeChart pro 2017.20。 对于有很多点(1471 点)的 LineSeries 图表,我想显示一个在代码中定义的选择性标记。 只有当 window 足够大时,我才能看到标记。 在某些情况下,使用鼠标右键拖动 (PAN) 图表时,通过部分缩放,标记会显示和隐藏(见图片)。 Visible Mark Un visible mark, same resolution as previous, just moved (PAN)
另一方面,指针的行为完全符合我的要求。我总能在 ant zoom 上看到它。 这是一个带有标记和指针的简短代码用于演示:
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;
如何强制标记与指针的行为相同?
TeeChart 计算最小 "Draw Every" 步骤,当有更多标记时
显示比可用像素。此优化会干扰您的设置。
尝试设置此项以跳过此优化:
Series.CalcVisiblePoints:=False;