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