因此,我有一个精美的传统delphi 5项目,带有沿DateTime底部的垂直条的TCHART。它的工作原理很好。现在,我想加大三个水平的"警告"线,每个线最多具有三个可切换标签。这个想法是显示三个红色限制线(三个3元素线路),并在最左,中和右侧标签显示Yvalue限制。标签可切换,以免杂乱的数据。而且它也有效。这些标签即使在滚动时也必须坐在Xmin,Mid和Xmax上。我解决了该计时器在重新绘制的第一个数据等时启动的,然后用图表的新Xmin,Mid,Xmax重置三个标签。滚动时,标签会跟随。但是当我放大时,会丢失一些东西。我将Xmin,Xmax和线路坐标在状态栏中被重新计算(用于调试)时,看起来很正确,但是三个水平线向左滑落。最左边的点是看不见的,最右边是向左漂移,更糟的是随着变焦的增加。yvalues是正确的。
有没有最好的方法来对plotdata进行绘图的重新计算?(或者我必须在我的XE10.2中重建全部?)
我只是在家里运行它,同样的现象出现在xe10.2中。当我放大时,第二个系列(水平线,端点重新计算为图形边缘)都爬到侧面。但是如果我将Series2连接到topaxis ,那么一切都很好。岩石固体。似乎很自然。傻我。
procedure TForm1.Series1AfterDrawValues(Sender: TObject);
var a,b :Double;
begin
a:=(Chart1.LeftAxis.Minimum+chart1.leftAxis.maximum)/2;
b:=chart1.TopAxis.Minimum;
series2.Clear;
series2.addxy(b,a,'Left');
series2.addxy(b+(chart1.topAxis.Maximum-b)/2,a,'Mid');
series2.addxy(chart1.topAxis.Maximum,a,'Right');
end;
跑步,滚动时的线路停留