TChart X-Achse neu beschriften



  • Hallo Leute,

    ich würde gerne die X-Achse eines Chart während runtime neu beschriften mit Werten, die nur ein Zehntel der tatsächlichen Größe haben.
    Also wenn die X-Achse 0-200 hat, möchte ich diese überschreiben und mit 0-20 beschriften, an den Kurven soll sich natürlich nichts ändern.

    Habe jetzt etliche alte Threads zu TChart durchsucht aber nix passendes gefunden.

    Danke für die Hilfe

    Geuß Marc



  • Hallo,

    Das geht ganz einfach.

    chart->BottomAxis->Automatic = true; // gesamte automatische Einstellung ausschalten
    chart->BottomAxis->AutomaticMaximum = true;// automatische Einstellung für Max ausstellen
    chart->BottomAxis->AutomaticMinimum = true;// automatische Einstellung für Max ausstellen
    Axis->Maximum = max; // Maximum einstellen 
    Axis->Minimum = min; // Minimum einstellen
    


  • Hallo Braunstein,

    danke erst mal für die Antwort, aber das klappt nicht so wie ich das will.
    Ich habe es so geändert, Deinen Code konnte ich nicht kompilieren und
    bei ausstellen ging ich mal von "false" aus:

    Chart1->BottomAxis->Automatic = false; // gesamte automatische Einstellung ausschalten
    Chart1->BottomAxis->AutomaticMaximum = false;// automatische Einstellung für Max ausstellen
    Chart1->BottomAxis->AutomaticMinimum = false;// automatische Einstellung für Max ausstellen
    Chart1->Axes->Bottom->Maximum = 20; // Maximum einstellen
    Chart1->Axes->Bottom->Minimum = 0; // Minimum einstellen
    

    Bin mir aber nicht sicher ob das jetzt noch das Gleiche wie DeinBeispiel ist.

    Meine Kurve geht auf X von 0-200, wenn ich jetzt diese Änderung mache, wird auch nur der Bereich von 0-20 angezeigt. Mein Ziel ist es aber nur die Beschriftung zu korrigieren.



  • Du meinst, du willst die Achse lassen wie sie ist aber die Labels anders darstellen? Das halte ich für ein wenig merkwürdig. Warum denn sowas? Da passen ja die daten nicht mehr zur Darstellung.
    In dem Fall könntest du den Event OnGetAxisLabel nutzen um die Beschriftung zu ändern.
    Das du deinen Code anpassen solltest war klar. 🙂
    Ich hatte das nur schnell koipiert.



  • Hallo,

    vielleicht meint er einfach, dass er die Kurve mit einer feineren Darstellung anzeigen will (damit sie zB genauer ist), aber mit einer groberen Beschriftung versehen... zB: Darstellung der Kurve: 0-200cm / Beschriftung der X-Achse 0-20dm

    MfG



  • Danke Kolumbus, genau darum geht es.
    Manchmal ist es schwierig sich verständlich auszudrücken.



  • Die Abstände der Labels stellt man mit TChartAxis::Increment ein. Die Anzahl der kleinen Ticks dazwischen mit TChartAxis::MinorTickCount.
    Falls es das ist was du willst.


Anmelden zum Antworten