AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zoom bei TChart

Ein Thema von scma0158 · begonnen am 14. Mär 2007 · letzter Beitrag vom 14. Mär 2007
Antwort Antwort
scma0158

Registriert seit: 14. Mär 2007
2 Beiträge
 
#1

Zoom bei TChart

  Alt 14. Mär 2007, 09:44
Hi ihr,

habe Probleme beim Zoom mit TChart. Normalerweise werden beide achsen größtmöglich skaliert. daher stimmt allerdings der maßstab d.h. das verhältnis der werte nicht. wie kann ich erreichen, dass beide achsen gleichmäßig skaliert werden und dabei eine achse die größtmögliche skalierung hat. die andere achse muss dabei die skalierung von der anderen bekommen.

danke für eure hilfe
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Zoom bei TChart

  Alt 14. Mär 2007, 10:50
Hi und erstmal herzlich Willkommen in der DP

Wenn Du beide Achsen gleich skalierst, dann ist die Lösung für dein Problem recht einfach. Allerdings muss ich Dich vorwarnen, das was ich jetzt sage bezieht sich auf die Delphi-Version (die aber eigentlich komplett kompatibel sein sollte) und ist nicht getestet/nachgelesen (nicht über kleine Abweichungen wundern!).

Jedenfalls kannst Du zu jeder Achse des TChart-Objekts die Achsen als Eigenschaft abfragen. Eine Achse hat wiederum die Eigenschaft des maximalen Wertes. Hier musst Du dann einfach nur das Maximum aus den beiden Achsen-Maxima nehmen und setzen.
An sich hast Du bei dem beschriebenen Weg ein kleines Problem, möchtest Du die Skalierung vornehmen, musst Du den automatischen Modus natürlich ausschalten. Hier würde also die automatische Skalierung entfallen und Änderungen würdest Du natürlich nicht mitbekommen.

Den Maximalen Wert müsstest Du ungefähr so ermitteln können
Code:
TChart chart;
int value1, value2;

// Achtung, ist nicht Case-Sensitive, Namen stimmen auch nur bedingt!
value1 = chart->leftAxis->maximum;
value2 = chart->bottomAxis->maximum;
...
Hier hast Du zwei Möglichkeiten:
1. Du kannst einfach hin- und herschalten. Dazu kannst Du dann einfach vor dem Einfügen eines neuen Wertes die Automatik anschalten, das Maximum ermitteln, die Automatik abschalten und einen festen Wert (das Maximum) zuweisen. Alternativ ist es natürlich auch möglich, dass Du im Hintergrund ein TChart-Objekt (das nicht sichtbar ist) verwendest. Alles was Du dort einträgst wird automatisch skaliert, Du ermittelst den automatisch berechneten maximalen Wert und verwendest den.

2. Besser, einfacher und schöner dürfte es aber sein, dass Du die Skalierung einfach selbst berechnest. Dazu merkst Du Dir einfach in einer Variable den Größten Wert (nebenbei gehe ich die ganze Zeit davon aus, dass der kleinste Wert fest ist, sonst natürlich analog mit anpassen!). Jedenfalls speicherst Du für beide Achsen immer den maximalen Wert. Fügst Du einen neuen Wert in das TChart-Objekt ein, so musst Du nur prüfen ob es (für die entsprechende Achse) ein neues Maximum ist. Ist dies der Fall, so kannst Du einfach die Maximum-Eigenschaft der Achsen anpassen. Wichtig ist auch hier, dass die Eigenschaft Automatic (der Achsen) abgeschaltet ist.


Gruß Der Unwissende
  Mit Zitat antworten Zitat
scma0158

Registriert seit: 14. Mär 2007
2 Beiträge
 
#3

Re: Zoom bei TChart

  Alt 14. Mär 2007, 11:19
ja sowas hab ich auch schon gedacht. danke für deine ausführung.

ich hatte die hoffnung, dass man vielleicht auf einfachem weg irgendwo eine 1:1 verbindung der achsen setzen kann.

aber sowas gibt es wohl nicht.

grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz