Ich möchte in einem TChart mehrere Kurven haben. In dem mitgelieferten Beispiel wird TSeries und TSerie für ein Linien-Diagramm verwendet, damit lassen sich nicht mehrere Kurven in ein Diagramm einfügen. Jedesmal wenn ich eine hinzufüge wird diese angezeigt und die alte gelöscht.
Ich bekam den Hinweis es mit TLineSeries zu versuchen und fand dazu auch etwas Code. Allerdings erhalte ich den Fehler: "unit1.pas(27,38) Error: Identifier not found "TLineSeries"" Wenn ich kompilieren möchte.
Ich poste mal meine komplette Testunit.
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
TAGraph, StdCtrls, TASeries;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Chart1: TChart;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
FLine: array[0..50] of TLineSeries;
x, y, x1, y1, x3, y3: Double;
seriescount : integer = 0;
implementation
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
Fline[seriescount] := TLineSeries.Create(Chart1);
Fline[seriescount].ShowLines := true;
Fline[seriescount].ShowPoints := true;
Fline[seriescount].Pointer.Style := psRectangle;
Fline[seriescount].Title := 'line';
Fline[seriescount].SeriesColor := clRed;
Chart1.AddSerie(Fline[seriescount]);
for i := 1 to 10 do begin
Fline[seriescount].AddXY(x1, y1, '', clGreen);
X1 := X1 + 1.5;
if random(2) >= 0.5 then Y1 := Y1 + random(10)
else Y1 := Y1 - random(5);
end;
inc(seriescount);
end;
initialization
{$I unit1.lrs}
end.