![]() |
TChart - Y-Achsen neu positionieren bei grossen Achswerten?
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !
Kann mir da jemand einen Tip geben ... Und zwar mal als Grundlage das angehängte Bild ... Mann kann sehen das die Zahlen der grünen Achse die blaue Achse überschreiben. Ich habe als Settings für die Achsen Pixels verwendet (Axis -> Position -> Position / Units). Frage ist nun ... Gibt es einen Automatismus der diese Übereinanderlegen der Y-Achsen verhindern kann? Oder gibt es dafür ein Stück Code was das Überwacht? Weil im Prinzip müsste der linke Rand vom Chart breiter werden damit die Achsen ohne Überschneidungen dargestellt werden können. Gleiches gilt natürlich für Achsen rechts. |
DP-Maintenance
Dieses Thema wurde von "sakura" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
|
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Unter property PositionPercent, kannst Du doch die Position der Achsenbeschriftung festlegen.
Bei Eingabe eines negativen Wertes, verschiebt sich die linke Achse noch weiter nach links. |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Moin !
Jo das is mir ja auch durchaus klar. Aber nimm folgendes Szenario ... Du hat eine Y Achse wo die Werte stetig steigen. Sagen wir mal von 0-10 bis 0-10000. Bei 0-10 passt alles. Aber irgendwann sind die Zahlen an der Achse so breit das sie eben die nebenstehenden Achsen überschreiben oder ganz aus dem Chart rausragen. Und hier bräuchte es eine Automatik die das überwacht. Ein einmaliges Einstellen reicht da eben nicht. Das habe ich ja eh schon getan. |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Hst Du
Delphi-Quellcode:
stehen??
Axis.Automatic := True;
Habe mir gerade ein Demo gebastelt, wo ich über ein Edit-Feld WERTE VON 10- 100000 eingegeben habe. Dabei wurde das Chart und die Y-Achse automatisch angepasst. |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Moin !
Hmm ich habe bei mir auch mal die Axis auf Automatic gestellt. Aber der Abstand von Achse zu Achse bleibt gleich wenn die Werte zu gross werden. Und auch das Überschreiben ist wieder da. Kann es sein dass das Automatic sich eher auf die Anpassung der Endwerte bezieht und nicht um die Position der Achse? Könnte ich mal deine Demo sehen? Wenns geht mail mal an dominik ÄTTT logview PUNKT info |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Liste der Anhänge anzeigen (Anzahl: 1)
Stelle es lieber direkt hier rein.
|
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !
Ok, da geht es. Aber das ist auch nur eine Achse. Geht das auch mit mehreren Y Achsen? Im Anhang mal meine Demo. Vielleicht kannst du das da mal versuchen ?! |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
So ganz testen kann ich es nicht da ich kein Chart Tool installiert habe.
Habe aber in diesem Projekt das Chart entfernt, neuerstellt und 6 Series hinzugefügt. Alle habe Standard Werte und es sieht Ok aus. |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Kannst du deins mal hier posten bitte ?
|
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Habe ich nicht gespeichert :cry:
Nimm Deine Demo lösche TChart, erstelle TChart neu und füge 6 Series hinzu. Teste auch mal anstatt
Delphi-Quellcode:
dieses
Chart1.Series[5].AddY(ArcTan(Sin(I/400) * Cos(I/300)) + 1); }
Delphi-Quellcode:
Chart1.Series[0].Add(Sin(I/200) + 1 * i,'',clred); |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Moin !
Klar geht das dann. Aber du verwendest dort nur eine Y Achse. Und ich möchte eben für jede Kurve eine eigene Y Achse verwenden. und da is der Haken bei die Sache ... |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Hi Dominik,
die Hilfe zu AddY bzw. Add zeigt folgendes: Zitat:
Mehrere Werte für Y, ergeben sich doch eigentlich durch das hinzufügen der Series. |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Moin !
Ja nö ich glaube wir reden aneinander vorbei .... Es geht mir nicht darum das ich mehrere Y Werte habe. Ich möchte folgendes haben: 6 Kurven, 6 Y- Achsen, 1 X-Achse Je Y Achse eine Kurve (Serie). Das resultiert also in 6 unabhängigen Sirien mit Achsen. Soweit so gut. Wenn man nun die Position der Achsen nicht anpasst, dann würden alle 6 übereinander liegen. Das sieht ziemlich übel aus. Also legt man erstmal 3 Achsen auf die Rechte Seite. Nun hamma links und rechts je 3 Achsen die übereinanderliegen. Nun setzt man die Position unter Chart -> Axis -> Position -> Position / Units. Man stellt also die Sache so ein das die Achsen sich nicht mehr überlagern. Bis dahin is auch alles ok. Aber wenn nun Punkte in einer Serie eingetragen werden, ändert sich die zugehörige Y-Achse. Sogen wir mal von 900 auf 1000. Und nun können sich eben die unterschiedlichen Y Achsen überlagern. Und genau dafür suche ich eine Lösung. Das macht TeeChart leider nicht so ohne weiteres :-( |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Ja ich denke Du hast recht, wir reden aneinander vorbei.
In einem Diagramm gibt es für mich immer nur eine X und Y Achse, auf diesen Achsen kann ich mehrere Werte ausgeben lassen. Das galube ich zumindest, bin allerdings schon etwas verwirrt mittlerweile. Kannst Du mal ein Bild zeichnen, oder einen Screenshot anhängen der das gewünschte Ergebnise zeigt. |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !
Naja eigentlich sieht man es ja in der Grafik vom ersten Posting. Aber hier ist nochmal so ein Ding. Man kann sehen wie die beiden Achsen auf der linken Seite über andere Achsen drüberzeichnen weil eben die Zahlen zu lang sind. Und genau das will ich verhinden. Und bedenke ich brauche für jede Serie eine Achse !!! |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Ok, denke jetzt wird es klarer :???:
Blende doch alle Achsen aus, und zeichne direkt auf dem Canvas von TChart deine Skalierung. |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Na super. Eigentlich möchte ich der Komponente meine Daten geben und die soll das zeichnen.
Selber machen will ich ja eben vermeiden ;) |
Re: TChart - Y-Achsen neu positionieren bei grossen Achswert
Ich dachte ja auch nur die Achse zeichnen, und das auch nur wenn sich die Werte stark verändern.
Leider gibt es keine Möglichkeit die Achsen für jede Series auszublenden, oder ich hab zumindest nichts gefunden. Sorry! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 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