Tchart

Rund um die LCL und andere Komponenten
Antworten
Vbxler
Beiträge: 135
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Tchart

Beitrag von Vbxler »

Hallo zusammen,

grundsätzlich funktioniert die Komponente Tchart sehr gut,
solange die Messwerte im positiven Bereich sind.
Bei negativen Messwerten wird der zwar Chart richtig gezeichnet,
aber nicht vollständig angezeigt. Mit der rechten Maustaste kann
ich den Chart verschieben, um die negativen Werte zu sehen.

Frage:
Gibt es einen Parameter, mit dem die Skalierung des Charts automatisch angepasst wird?

Wenn nur positive Werte → dann die Skala von 0 … +Y
Wenn auch negative Werte → dann die Skala von -Y … +Y
Die X-Achse ist die Uhrzeit.

Danke für eure Hilfe!
Dateianhänge
20260419-162027.jpg
20260419-162027.jpg (34.41 KiB) 250 mal betrachtet

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

Re: Tchart

Beitrag von wp_xyz »

Bin zur Zeit nicht am PC, aber ich denke dass deine Vorgaben erfüllt werden, wenn du bei der y-Achse Range.UseMin auf true setzt. Wenn alle y-Werte>0 sind, schlägt wegen UseMin der Wert in Min=0 zu. Wenn aber auch negative Werte dabei sind, schlägt das wahre Minimum durch.

Vbxler
Beiträge: 135
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Tchart

Beitrag von Vbxler »

Danke,

ich werde mir das morgen anschauen!

Vbxler
Beiträge: 135
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Tchart

Beitrag von Vbxler »

Danke für Ihre Hilfestellung!

Chart1.Extent.UseYMin := True; //Der Schalter
Chart1.Extent.YMin := 0.0; //aktiviert den Wert

Sind Sie zufällig der Erschaffer dieses tollen Steuerelements?

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

Re: Tchart

Beitrag von wp_xyz »

Aktueller Betreuer, die ursprünglichen Autoren haben sich zurückgezogen.

Chart.Extent ist die ultimative Instanz für die Achsengrenzen. Geht Chart.Leftaxis.Range nicht auch? Das hätte den Vorteil, dass die Grenzen nur gelten, solange sie nicht von den Datenwerten überschritten werden, das wäre genau deine Anforderung. Chart.Extent dagegen gilt immer.

Vbxler
Beiträge: 135
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

Re: Tchart

Beitrag von Vbxler »

Mir ist eine Kleinigkeit aufgefallen.

Wenn ich bei einem Windows-Rechner (Win7-32)
einen Wert für YMin im Objektinspektor eingebe,
dann funktioniert es so wie erwartet.

Wenn ich bei einen Rechner mit Linux_amd64
einen Wert für YMin im Objektinspektor eingebe,
dann gibte es immer einen Fehler mit der Kommastelle.

Das Problem dürfte vermutlich mit der deutschen
Ländereinstellung im OS zu tun haben.

Aber es stört nicht weiter, da ich einen Grenzwert im Quellcode angebe.

Danke für die tolle Arbeit!
Dateianhänge
lin64.jpg
lin64.jpg (28.75 KiB) 66 mal betrachtet
win32.jpg
win32.jpg (14.77 KiB) 66 mal betrachtet

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

Re: Tchart

Beitrag von wp_xyz »

Wenn du unter Linux in Deutschland ein Dezimalkomma verwenden möchtest, musst du die Unit clocale einbinden.

Mathias
Beiträge: 7263
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tchart

Beitrag von Mathias »

Wenn ich bei einen Rechner mit Linux_amd64
einen Wert für YMin im Objektinspektor eingebe,
dann gibte es immer einen Fehler mit der Kommastelle.
Ich würde vermuten im Object Inspektor braucht es zwingen eine Punkt. so wie es bei Pascal auch der Fall ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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

Re: Tchart

Beitrag von wp_xyz »

Wenn ich mich nicht schwer täusche, ist der Property- Editor für floats so geschrieben, dass beide Arten von Dezimaltrennern akzeptiert werden.

Antworten