Inhalt
Aktueller Ordner:
duesseldorfer-schuelerinventar-freepascal-clientu_chart.pas
unit u_chart;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Graphics, TAGraph, TASeries, Controls;
type
TProfileChart = class(TChart)
private
FSeSeries: TLineSeries;
FFESeries: TLineSeries;
public
constructor Create(AOwner: TComponent); override;
procedure SetSeValues(v1, v2, v3, v4, v5, v6: Double);
procedure SetFEValues(v1, v2, v3, v4, v5, v6: Double);
procedure Clear;
end;
implementation
constructor TProfileChart.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Width := 500;
Height := 250;
FSeSeries := TLineSeries.Create(Self);
FSeSeries.Title := 'Selbsteinschätzung (SE)';
FSeSeries.SeriesColor := clBlue;
FSeSeries.LinePen.Width := 2;
FSeSeries.ShowPoints := True;
FSeSeries.Pointer.Brush.Color := clBlue;
AddSeries(FSeSeries);
FFESeries := TLineSeries.Create(Self);
FFESeries.Title := 'Fremdeinschätzung (FE)';
FFESeries.SeriesColor := clRed;
FFESeries.LinePen.Width := 2;
FFESeries.ShowPoints := True;
FFESeries.Pointer.Brush.Color := clRed;
AddSeries(FFESeries);
Title.Text.Text := 'Profil-Vergleich (SE vs. FE)';
LeftAxis.Title.Caption := 'Wert (1-5)';
BottomAxis.Title.Caption := 'Kompetenzen';
// Achsenbeschriftungen werden über die Datenpunkte definiert
// Die X-Achse zeigt die Zahlen 1-6 an
end;
procedure TProfileChart.SetSeValues(v1, v2, v3, v4, v5, v6: Double);
begin
FSeSeries.Clear;
FSeSeries.AddXY(1, v1);
FSeSeries.AddXY(2, v2);
FSeSeries.AddXY(3, v3);
FSeSeries.AddXY(4, v4);
FSeSeries.AddXY(5, v5);
FSeSeries.AddXY(6, v6);
end;
procedure TProfileChart.SetFEValues(v1, v2, v3, v4, v5, v6: Double);
begin
FFESeries.Clear;
FFESeries.AddXY(1, v1);
FFESeries.AddXY(2, v2);
FFESeries.AddXY(3, v3);
FFESeries.AddXY(4, v4);
FFESeries.AddXY(5, v5);
FFESeries.AddXY(6, v6);
end;
procedure TProfileChart.Clear;
begin
FSeSeries.Clear;
FFESeries.Clear;
end;
end.