![]() |
[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? |
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 |
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. |
Re: [Frag] - TChart, wie mehrere Y-Achsen?
Würde mich interessieren ob du das mittlerweile hinbekommen hast.
Stehe vor dem gleichen Problem. |
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:
Oder du übergibst ein Array:
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;
Delphi-Quellcode:
Chart1.Series[0].AddY(scopePressure);
Chart1.Series[1].AddY(scopeVelocity); Chart1.Series[2].AddY(scopeTemperature); Chart1.Series[3].AddY(scopePullerVelocity); |
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 |
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. |
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 |
Re: [Frag] - TChart, wie mehrere Y-Achsen?
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !
So geht dem :-) |
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: ![]()
Delphi-Quellcode:
MfG McDoTprocedure 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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 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 by Thomas Breitkreuz