2016-10-25 4 views
1

У меня есть X/Y координаты, хранящегося в файле:Как нарисовать несколько прямоугольников с помощью заданных координат на графике

1A 0,2770 0,2570 
1B 0,2870 0,2730 
1C 0,2950 0,2680 
1D 0,2850 0,2520 
2A 0,2870 0,2730 
2B 0,2970 0,2890 
2C 0,3050 0,2840 
2D 0,2950 0,2680 
... 

координаты считываются и хранятся в массиве:

type 
    TXYPoint = record 
    name: string; 
    X: double; 
    Y: double; 
    end; 

var 
    XYPointList: array of TXYPoint; 

Я пытаюсь отобразить прямоугольники в TeeChart Standard 4.04 с Delphi 7 из этих координат, , чтобы узнать, находится ли точка измерения в этом диапазоне.

Как я могу нарисовать несколько прямоугольников с использованием заданных координат на диаграмме? Помощь от: How To Draw Polygon/Rectangle In TChart не работает, или я делаю что-то неправильно.

Заранее спасибо.

Между тем у меня есть следующие:

function GetChartSeries(von, bis : integer): TLineSeries; 
var 
    i: integer; 
begin 
    result:= TLineSeries.Create(nil); 
    for i:= von to bis do 
    begin 
    result.AddXY(XYPointList[i].X,XYPointList[i].Y); 
    end; 
end; 

и

l:= Length(XYPointList); 
    SetLength(s1,l); 

    for i:= 0 to l- 2 do 
    begin 
    s1[i]:= TLineSeries. Create (nil); 
    s1[i].ParentChart:= Chart1; 
    s1[i].Assign(GetChartSeries(i,i+1)); 

    end; 

Но картина не хорошо ... enter image description here

ответ

0
var 
    s1: array of TLineSeries; 
begin 
    l:= Length(XYPointList); 
    SetLength(s1,l); 
    z:= 0; 
    for i:= 0 to l-2 do 
    begin 

    s1[i]:= TLineSeries. Create (nil); 
    s1[i].ParentChart:= Chart1; 
    if z < 3 then 
    begin 
     s1[i].Assign(GetChartSeries(i,i+1)); 
     inc(z); 
    end else 
    begin 
     s1[i].Assign(GetChartSeries(i-2,i+1-2)); 
     z:=0; 
    end; 

    end; 

Функция GetChartSeries описано выше в вопрос.

Смежные вопросы