Delphi TeeChart рисунок на холсте - PullRequest
0 голосов
/ 03 мая 2020

Я использую delphi 10.3 TeeChart для отображения некоторых точек.

После отображения этих точек я хочу создать линии между этими точками.

Таким образом, в основном это линия от точки От A до Точки B

chart1.Canvas.Pen.Color := ClYellow;
chart1.Canvas.Pen.Width := 2;
chart1.Canvas.MoveTo(Chart1.Axes.Bottom.CalcXPosValue(chart1.Series[0].XValues[WayPoint]),Chart1.Axes.left.CalcYPosValue(Chart1.Series[0].YValues[WayPoint]));
chart1.Canvas.LineTo(Chart1.Axes.Bottom.CalcXPosValue(chart1.Series[0].XValues[WayPoint+1]),Chart1.Axes.left.CalcYPosValue(Chart1.Series[0].YValues[WayPoint+1]));

Этот код запускается в событии AfterDraw на графике 1. Он запускается при значении от I: = 1 до Точек (количество точек).

Результат Я получаю следующее:

a

Любая помощь или предложения будут великолепны!

1 Ответ

0 голосов
/ 03 мая 2020

, если I совпадает с Waypoint, обратите внимание, что списки значений серии индексируются от 0 до NPoints - 1, поэтому для I := 1 to Points выглядит странно.

Более того, для соединения точек вам нужно NPoints - 1 сегментов, поэтому l oop следует считать от 0 до NPoint - 2 (чтобы избежать выхода из массива на WayPoint+1)

И главное сомнение - зачем рисовать линии «руками», а TChart предназначался для этого?

...