Einzelnen Beitrag anzeigen

edmu

Registriert seit: 27. Jul 2004
41 Beiträge
 
#1

TChart, mehrere Y-Achsen, wie Skalenstriche beschriften

  Alt 12. Jan 2012, 12:26
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
Miniaturansicht angehängter Grafiken
2012-01-12_131147.png  
  Mit Zitat antworten Zitat