AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TChart, mehrere Y-Achsen, wie Skalenstriche beschriften
Thema durchsuchen
Ansicht
Themen-Optionen

TChart, mehrere Y-Achsen, wie Skalenstriche beschriften

Ein Thema von edmu · begonnen am 12. Jan 2012 · letzter Beitrag vom 13. Jan 2012
Antwort Antwort
edmu

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

TChart, mehrere Y-Achsen, wie Skalenstriche beschriften

  Alt 12. Jan 2012, 13: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
edmu

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

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

  Alt 13. Jan 2012, 13:02
Hallo

ich habe es nach vielen Denkanstößen geschafft.

Die Zeile
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:36 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