Tchart
-
Vbxler
- Beiträge: 135
- Registriert: Sa 25. Mai 2013, 07:43
- OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
- CPU-Target: 32Bit
Tchart
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!
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 (34.41 KiB) 262 mal betrachtet
Re: Tchart
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
Danke,
ich werde mir das morgen anschauen!
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
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?
Chart1.Extent.UseYMin := True; //Der Schalter
Chart1.Extent.YMin := 0.0; //aktiviert den Wert
Sind Sie zufällig der Erschaffer dieses tollen Steuerelements?
Re: Tchart
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.
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
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!
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 (28.75 KiB) 78 mal betrachtet
-
- win32.jpg (14.77 KiB) 78 mal betrachtet
Re: Tchart
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
Ich würde vermuten im Object Inspektor braucht es zwingen eine Punkt. so wie es bei Pascal auch der Fall ist.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.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Tchart
Wenn ich mich nicht schwer täusche, ist der Property- Editor für floats so geschrieben, dass beide Arten von Dezimaltrennern akzeptiert werden.