Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TChart, mehrere Y-Achsen, wie Skalenstriche beschriften (https://www.delphipraxis.net/165706-tchart-mehrere-y-achsen-wie-skalenstriche-beschriften.html)

edmu 12. Jan 2012 12:26

TChart, mehrere Y-Achsen, wie Skalenstriche beschriften
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

ich habe ein TChart und habe es geschafft, 10 Linien unter einander darzustellen. Die X-Achse ist eine Zeitachse und wird von allen
Linien genutzt.

Mein Problem:
Ich habe in Linie 1 Werte von 1 bis 3 geladen, und das mehrmals.
In Linie 8 lade ich Werte von 8 - 10, auch das mehrmals.

Die Skalierung der Y-Achse ist bei allen Linien gleich. Mir gefällt, dass die Linie 1 den Min-Max Wert von 0 - 3 und die Linie 8
den Min-Max von 0 - 10 hat. Aber bei der Linie 8 können die Beschriftungen auf der Y-Achse nicht mehr gelesen werden, weil diese zu nah an einander stehen.
Seht euch die Grafik an und dort die letzte Kurve. Die Zahlen sind nicht zu lesen.

Wie schaffe ich es, die Zahlen-Beschriftungen auseinander zu ziehen. Es würde reichen wenn die 0, 5, 10 dargestellt werden.

Die Funktion chart1[x].CustomVertAxis.increment := 3; funktioniert nicht.

Es handelt sich um CustomAxis.

Hier mein Quellcode:
Delphi-Quellcode:
procedure Tfo_Chart.Kurven_splitten;
var i : integer;
begin
  for I := 0 to chart1.SeriesList.Count - 1 do
    if chart1.Series[i].Active then begin
     TA[i]:= TChartAxis.Create(Chart1);
     TA[i].Assign(Chart1.LeftAxis);
     TA[i].Horizontal := False;
     //Die zweite Achse etwas weiter links positionieren
     TA[i].PositionPercent := 0;
     TA[i].Automatic      := TRUE;
     //TA[i].Increment := 3;
     //TA[i].Increment := 0;


     chart1.Series[i].CustomVertAxis := Ta[i];
     chart1[i].CustomVertAxis.increment := 3;
    end;

  Kurven_splitten_positionen;

  Chart1.LeftAxis.EndPosition := 100;

  //chart1.LeftAxis.Increment := 1;

end;
Die Positionierung der einzelnen Kurven mache ich in einer anderen Funktion und funktioniert auch.

Wäre für Hilfe dankbar.

mfg edmu

edmu 13. Jan 2012 12:02

AW: TChart, mehrere Y-Achsen, wie Skalenstriche beschriften
 
Hallo

ich habe es nach vielen Denkanstößen geschafft.

Die Zeile
Delphi-Quellcode:
TA[i].Assign(Chart1.LeftAxis);
darf nicht mit rein.

Wenn ich jetzt das Projekt kompiliere, haben alle 10 Kurven unterschiedliche Min und Max-Werte.
Ist ja auch logisch, mit assign wird alles von LeftAxis genommen.

Super

mfg edmu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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