1
我正在閱讀「TeeChart VCL中的實時圖表:添加大量點的另一種方式是使用直接動態數組」,並且想問如何跳過X軸緩衝區(save浪費的內存空間),而它簡單的包含一個簡單的基數1 .... n = Num點序列。而Num將會在> 100萬的地區。TeeChart快速繪圖
我正在閱讀「TeeChart VCL中的實時圖表:添加大量點的另一種方式是使用直接動態數組」,並且想問如何跳過X軸緩衝區(save浪費的內存空間),而它簡單的包含一個簡單的基數1 .... n = Num點序列。而Num將會在> 100萬的地區。TeeChart快速繪圖
我想避免使XValues陣列將被使用TCustomTeeFunction如以下示例的需要最簡單的方法:
var Series1: TFastLineSeries;
CustFunci: TCustomTeeFunction;
MyValues: array of double;
procedure TForm1.FormCreate(Sender: TObject);
var i, nValues: Integer;
begin
//data
nValues:=10000;
SetLength(MyValues, nValues);
MyValues[0]:=Random(10000);
for i:=Low(MyValues)+1 to High(MyValues) do
MyValues[i]:=MyValues[i-1]+Random(10)-4.5;
//chart
Chart1.View3D:=false;
Chart1.Legend.Visible:=false;
Series1:=Chart1.AddSeries(TFastLineSeries) as TFastLineSeries;
CustFunci:=TCustomTeeFunction.Create(Self);
Series1.FunctionType:=CustFunci;
CustFunci.NumPoints:=nValues;
CustFunci.OnCalculate:=CustFunciCalculate;
CustFunci.ReCalculate;
end;
procedure TForm1.CustFunciCalculate(Sender:TCustomTeeFunction; const x:Double; var y:Double);
begin
y:=MyValues[Round(x)];
end;