Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [Frag] - TChart, wie mehrere Y-Achsen? (https://www.delphipraxis.net/115936-%5Bfrag%5D-tchart-wie-mehrere-y-achsen.html)

divBy0 20. Jun 2008 08:19


[Frag] - TChart, wie mehrere Y-Achsen?
 
Hallo!

Ich habe eben schon mal gesucht, aber die Treffer helfen mir nicht weiter.

Zum Problem, ich habe auf meiner Form ein TChart und würde jetzt gerne 4 Y-Achsen anzeigen. Jeweils 2 links und 2 rechts, mit verschiedenen Skalierungen.

Ich habe schon CustomAxes angelegt, aber wie werden die denn angezeigt?

marabu 20. Jun 2008 11:49

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Hallo Marc,

willst du wirklich mehrere Achsen permanent anzeigen, dann hilft dir vielleicht das Kapitel (5.4) "Arbeiten mit Achsen" aus der Online Hilfe zur TeeChart-Komponente. Mitunter kann es interessant sein, die passende Achse erst dann einzublenden, wenn eine bestimmte Serie markiert wurde.

Grüße vom marabu

divBy0 20. Jun 2008 13:58

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo!

Es sollen 4 Kurven in einem Diagramm dargestellt werden. Die Kurven sind natürlich anwählbar. Mittlerweile habe ich es hinbekommen, dass ich 4 Achsen habe, allerdings nur zur Designzeit, in der Laufzeit werden komischerweise nur die linke und rechte Achse angezeigt, die beiden CustomAchsen werden dann nicht gezeigt. Die Kurven werden aber alle 4 gezeichnet.

Die Onlinehilfe habe ich vorher versucht zu benutzen, allerdings wird die Hilfedatei nicht gefunden. Ich weiß auch noch nicht, wo ich die Datei herbekommen könnte.

S20000 15. Jul 2008 13:15

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Würde mich interessieren ob du das mittlerweile hinbekommen hast.
Stehe vor dem gleichen Problem.

divBy0 16. Jul 2008 08:10

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Sorry war gestern bei einem Kunden in Frankreich, daher melde ich mich erst jetzt.

Ja, ich habe es hinbekommen.

Du musst in der TChart-Komponente die Serien anlegen, die du brauchst. Wenn du mehr als 2 Achsen brauchst, dann musst du noch Custom-Achsen anlegen. Das geht im Fenster Struktur, da kannst du in der TChart CustomAxes hinzufügen.

Dann kannst du den Serien Werte übergeben:

Delphi-Quellcode:
for i := scopeIndexSaved to scopeIndex - 2 do
begin
  Chart1.Series[0].AddY(scopePressure[I], '', clRed);
  Chart1.Series[1].AddY(scopeVelocity[I], '', clGreen);
  Chart1.Series[2].AddY(scopeTemperature[I], '', clYellow);
  Chart1.Series[3].AddY(scopePullerVelocity[I], '', clBlue);
end;
Oder du übergibst ein Array:

Delphi-Quellcode:
Chart1.Series[0].AddY(scopePressure);
Chart1.Series[1].AddY(scopeVelocity);
Chart1.Series[2].AddY(scopeTemperature);
Chart1.Series[3].AddY(scopePullerVelocity);

Sascha-L 29. Mär 2010 17:31

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Guten tag,

ich bin ebenfalls auf der Suche nach einer Möglichkeit verschiedene Y-Achsen anzeigen zu lassen, die sich (wenn möglich) auch noch selbst skallieren.

Ich werde aus der Anleitung hier leider nicht so schlau, benutze selbst Delphi 7 Proffessional und finde das angegebene Feld
"Struktur" leider nicht :-( :gruebel:

Wäre sehr Dankbar, wenn Ihr mir kurz helfen könntet, da ich die Lösung ziemlich schnell umsetzen muss :-(

Vielen Dank im Vorraus

lg Sascha

moelski 29. Mär 2010 17:53

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Moin Sascha,

wenn du mehrere Y Achsen haben willst, dann musst du dich um einige Dinge selber kümmern. TChart hat die blöde Eigenschaft zwar mehrere Y Achsen zu unterstützen, aber die werden dann eher Stiefmütterlich behandelt. So machen Custom Axis z.B. kein Zoom direkt mit. Auch das Anpassen des Chart an die Breite der Y Achse geschieht nicht automatisch.

Ich könnte heute Abend mal ne Demo raussuchen wie wir das in unserer Software gelöst haben.

Sascha-L 29. Mär 2010 18:06

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Das wäre ne super Sache,

so langsam würd ich nämlich ganz gern meinem Monitor ne Ecke rausbeißen um dann mit Hilfe der Tastatur ein bisschen Baseball spielen zu können ;)

Vielen Dank moelski und schönen Abend noch

lg Sascha

moelski 29. Mär 2010 20:35

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !

So geht dem :-)

McDoT 29. Mär 2010 22:04

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Nabend,

Problem an der Sache wird sein, dass nicht jeder die TeeChart Komponenten besitzen wird :-D

Ohne diese könnte man es auch noch so machen:

Mehr als zwei Y-Achsen

Delphi-Quellcode:

procedure TForm1.ButtonXClick(Sender: TObject);
var TA : TChartAxis;
begin
  TA:=TChartAxis.Create(Chart1);
  TA.Assign(Chart1.LeftAxis);
  TA.StartPosition := 0;
  TA.EndPosition := 100;
  TA.Horizontal := False;
  TA.Visible := True;
  //Die zweite Achse etwas weiter links positionieren
  TA.PositionPercent := -4;
  Series2.CustomVertAxis := Ta;

  Chart1.LeftAxis.EndPosition := 45;
end;
MfG McDoT

Sascha-L 30. Mär 2010 07:37

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Hiho,

vielen Dank für das Beispiel, aber wie McDoT schon sagte, ist es mir leide rnicht möglich die Tee... Komps zu benutzen.

trotzdem nocheinmal vielen Dank und nen schönen Tag noch ;)

moelski 30. Mär 2010 11:06

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Moin !

Verstehe nicht ganz das Problem.
Es ging doch um TChart und das ist auch als Standart Edition bei jedem Delphi dabei.

Ok, der TeeCommander ist evtl nicht da, dann nimm den raus nach dem Öffnen und gut is.

Es fehlt auch die Unit Math noch.
Und es ist ein kleiner Bug drin mit Achsen[nr] ...

Aber es sollte auch mehr das prinzip zeigen wie man Custom Axis automatisch platzieren lassen kann.

Sascha-L 30. Mär 2010 13:35

Re: [Frag] - TChart, wie mehrere Y-Achsen?
 
Hat ja auch geholfen, das Prblem ist gelöst,

nu noch schnell den rest :coder: und fertig ;)

Danke nochmal :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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