TChart probleme mit Skallierung und Folgen



  • Hallo,
    ich mache gerade mit TChart ein Diagram. In diesem Liniendiagram werden die Punkte stückweise eingetragen. Der Benutzer soll also einen einzellnen Punkt eintragen in dem er sowohl die x- als auch die y-Koordinate eingibt. Leider kann es aber auch passieren, dass er einen Punkt der nachgetragen wurde, nun nach den Anderen Punkten zeichnet. Daraus ergibt sich ein Problem mit der Reihenfolge der Punkte. So Zeichnet er den Punkt x=Achse = 50 nach den Punkten x=Achse = 30,40,60,70 usw. (also am Ende des Diagramms). Das ist sehr schlecht. Er soll den Punkt zwischen 40 und 60 auf der x-Achse einfügen.
    Des Weiterem habe ich das Problem, das wenn ich zwischen mehreren Punkten einen Freiraum lasse, die Skallierung auf der x-Achse nicht nicht alle Punkte anzeigt und sogar welche überspringt. z.B 10,20,30,40,100,120,130,140,800,900,910,920,usw..
    Warum ist das so.
    Wo bekomme ich etwas Informationen über TChart? Die BCB-Hilfe ist nicht wirklich ilfreich.



  • zum TChart gibt es eine separate Hilfe, einfach das TChart doppelklicken und dann links unten den Button "Hilfe" benutzen

    zum Thema X-Werte: die Werte können sortiert werden, schau mal nach TLineSeries -> XValues -> Order

    zum Thema X-Achse: man kann auswählen welche/wie die Werte dargestellt werden
    TChart -> BottomAxis -> LabelStyle
    zur Entwurfszeit: TChart doppelklicken, Achsen - Unten - Beschriftungen - Stil, dort am besten "Wert" anklicken



  • @Linnea
    Können wir uns einigen, auf welchen der beiden identischen Threads wir uns konzentrieren? 🙂
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-161998.html



  • @Braunstein
    klar können wir 😃
    das kommt davon, wenn man so oft fast zugleich antwortet...

    mal sehn wofür sich der Threadstarter entscheidet



  • Hi,

    habe gerade in der TChart-Hilfe gelesen. So wie es aussieht mußt du folgendes benutzen.

    LineSeries1->AddXY(....);
    //oder
    Series1->AddXY(....);

    Beschreibung aus der Hilfe:

    funktion AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor):
    
    Diese Funktion fügt einen neuen Punkt in der Reihe ein. Der neue Punkt hat X- und Y-Werte. 
    Der Parameter AXLabel ist otional (kann leer bleiben ""). 
    Der Parameter AColor ist otional (kann clTeeColor entsprechen). 
    [b]Die Funktion ermittelt die Position des neuen Punktes in der Werteliste.[/b]
    

    Beispiel:

    double X=40.0;
    double Y=1.33333;
    LineSeries1->Add(X, Y, "", clBlue);
    

    kannst es ja probieren 🙂
    Grüsse



  • Hey,
    super von euch. Jeder Tip ist super.
    Danke euch allen für die Hilfe.


Anmelden zum Antworten