Mehrere Kurven nacheinander in TAChart

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
Benutzeravatar
photor
Beiträge: 443
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Mehrere Kurven nacheinander in TAChart

Beitrag von photor »

Hallo Forum,

Kurz: ich möchte nacheinander mehrere Kurven in einem TAChart darstellen. Dabei bleibt aber die zuvor gezeichnete Kurve sichtbar.

Lang: ich habe mehrere Datenreihen z.B. 1. Drehmoment über Drehzahl und 2. Leistung über Drehzahl. Die würde ich gerne nacheinander in einem TAChart darstellen und habe daher 2 LineSeries definiert (LineSeriesPower, LineSeriesTorque). Im Menu wollte ich einmal die eine und zum anderen die zweite darstellen lassen, was soweit auch funktioniert, bis auf die Tatsache, dass die zuerst gezeichnete Kurve nicht gelöscht wird[1][2]. Die Idee, vor dem Zeichnen ein Chart1.ClearSeries aufzurufen, funktioniert nicht. Was natürlich funktioniert, ist die zuvor gezeichnete Serie explizit zu löschen (z.B. Chart1LineSeriesTorque.Clear;). Aber dann müsste ich mir ja merken, welche LineSeries ich gerade darstelle (ich plane noch mehr und komplexere Darstellungen - bis zu 7 verschiedene LineSeries gleichzeitig).

Gesucht habe ich natürlich schon im Wiki und im Netz. Aber irgendwie drehe ich mich im Kreis und komme immer wieder an den gleichen Stelle aus :) Leider habe ich noch kein Tutorial gefunden, dass diese Problem beschreibt. Mir ist noch nicht klar, wie ich das Problem am besten anpacke. So, wie oben angedeutet. Oder macht man so etwas grundsätzlich anders (z.B. die Chartfläche vollständig mit Chart1LineSeriesTorque.Clear; löschen -das hatte aber nicht geklappt).

Wie immer: wenn ich "geschickt" an allen relevanten Infos vorbei gelesen habe, reicht ein Pointer auf die entsprechende Doku.

Danke für jeden Hinweis,

Photor


PS: wenn nötig kann ich natürlich Code posten. Ich denke aber, dass es zunächst auch ohne geht.

[1] später werde ich beide noch in ein Chart zeichnen lassen - aber mit zwei y-Achsen. Es sollen aber noch mehr gleichzeitig dargestellt werden.
[2] ursprünglich hatte ich vor, immer einunddieselbe LineSeries zu nutzen. In dem Fall reichte ein LineSeries.Clear, um den Chart zu löschen.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Mehrere Kurven nacheinander in TAChart

Beitrag von wp_xyz »

Ich weiß natürlich nicht, was du genau machst, aber ich könnte mir denken, dass du die Eigenschaft "Active" von TLineSeries suchst, mit der du eine Series ein/ausblenden kannst, ohne die Daten zu verlieren. Du kannst auch eine TChartListbox ins Formular setzen und deren "Chart" mit dem betreffenden Chart verbinden; damit kannst du nach Lust und Laune Series ein und ausschalten (verwendet genau diese "Active"-Eigenschaft).

Benutzeravatar
photor
Beiträge: 443
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Re: Mehrere Kurven nacheinander in TAChart

Beitrag von photor »

Hallo wp_xyz,

Das klingt nach: "damit werde ich mal experimentieren." Danke für den Tipp.

Ciao,

Photor

Antworten