![]() |
Mehrere Kurven mit frxChartObject
Hallo,
Beginne gerade mit FastReport4 (RAD2007) zu arbeiten, Umstellung von QuickReport 3.5. Problem mit dem ChartObject von FastReport: Eine Kurve zeichnen (wie in den Demos gezeigt) nicht schwierig. Als Diagrammtyp benutze ich Line Normal aus der Standard Gallerie. Wenn ich 2 Kurven zeichnen möchte, geht es nur mit gleichen Stützstellen der x-Achse für beide Kurven, auch wenn ich 2 verschiedene Kurven mit verschiedenen Stützstellen in x vorgebe, dann benutzt frxChartObject nur die x Stützstellen der ersten Kurve. Ergebnis ist dann, daß die 2. Kurve in x verzerrt und somit falsch ist. Was muß ich machen, damit ich in x und y vollkommen unabhängige Kurven zeichnen und drucken kann? Vielen Dank und einen schönen Sonntag E. B. |
Re: Mehrere Kurven mit frxChartObject
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
das ist mein Code zu dem Problem:
Delphi-Quellcode:
Im Attachment ist das Diagramm, welches ich erhalte angefügt.
procedure TForm1.FormCreate(Sender: TObject);
begin x[1] := 1; y[1] := 1; x[2] := 2; y[2] := 1.5; x[3] := 3; y[3] := 1.7; x[4] := 4; y[4] := 1.9; x[5] := 5; y[5] := 2.3; x[6] := 6; y[6] := 2.4; x[7] := 7; y[7] := 2.6; x[8] := 8; y[8] := 3; x[9] := 9; y[9] := 3; x[10] := 10; y[10] := 2.7; x[11] := 11; y[11] := 2.5; x[12] := 12; y[12] := 2.2; x1[1] := 0.5; y1[1] := 0.5; x1[2] := 1; y1[2] := 0.75; x1[3] := 1.5; y1[3] := 0.85; x1[4] := 2; y1[4] := 0.95; x1[5] := 2.5; y1[5] := 1.15; x1[6] := 3; y1[6] := 1.2; x1[7] := 3.5; y1[7] := 1.3; x1[8] := 4; y1[8] := 1.5; x1[9] := 4.5; y1[9] := 1.5; x1[10] := 5; y1[10] := 1.35; x1[11] := 5.5; y1[11] := 1.25; x1[12] := 6; y1[12] := 1.1; end; procedure TForm1.frxUserDataSet1GetValue(const VarName: string; var Value: Variant); begin if VarName = 'Y' then Value := y[frxUserDataSet1.tag] else if Varname = 'X' then Value := x[frxUserDataSet1.tag] else if VarName = 'Y1' then Value := y1[frxUserDataSet1.tag] else if Varname = 'X1' then Value := x1[frxUserDataSet1.tag]; end; procedure TForm1.btClick(Sender: TObject); begin frxReport.ShowReport(true); end; procedure TForm1.frxUserDataSet1First(Sender: TObject); begin frxUserDataSet1.Tag := 1; end; procedure TForm1.frxUserDataSet1Next(Sender: TObject); begin frxUserDataSet1.Tag := frxUserDataset1.Tag + 1; end; procedure TForm1.frxUserDataSet1Prior(Sender: TObject); begin frxUserDataSet1.Tag := frxUserDataset1.Tag - 1; end; procedure TForm1.frxUserDataSet1CheckEOF(Sender: TObject; var Eof: Boolean); begin eof := frxUserDataSet1.Tag > 12; end; end. Obwohl beide Kurven unterschiedliche X-Werte (X, X1) haben werden die mit den X-Werten der ersten Kurve (X) gezeichnet. In TeeChart und QRChart ging es aber richtig. Wenn jemand eine Idee´hat würde ich mich freuen. Grüße EB |
Re: Mehrere Kurven mit frxChartObject
Hallo allerseits,
habe das Problem inzwischen selber lösen können, ist ganz einfach, wenn mans weiss. Ich habe mich von meinem Vorgängerprogramm QuickReport und QRChart irritieren lassen. In QRChart ging es nur mit dem DiagrammTyp Points und FastLines. Da wir hier auch eine TeeChart-Komponente wie im alten QuickReport verwenden, dachte ich, es ginge hier genauso. Irrtum und viel einfacher: Wenn ich im Chart-Dialog mit dem "+" eine neue Kurve erzeuge, kommt in "Datenquelle" die Frage "DataSet", in "Werte" die Fragen "Y" und "X (optional)" usw. Ganz unten im "Sonstige Optionen"-Teil des Dialogs kommt damm die Frage "X-Achse". Dort gibt es die Möglichkeiten "Text", "Zahl" und "Datum" (default "Text"). Und dieses war der Übeltäter. Bei Kurven, die in "X" unabhängig sein sollen muß hier immer "Zahl" stehen. Das wars. Danke für Eure Geduld E. B. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz