TChart, Zahlenbrei

Rund um die LCL und andere Komponenten
Antworten
Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

TChart, Zahlenbrei

Beitrag von Mathias »

Kann man die Vertikale Gitternetzlinie anders unterteilen, so das es unten keinen Zahlenbrei gibt ?
Oder das es zB. nur jede zweite Zahl anzeigt ?
Dateianhänge
Bildschirmfoto vom 2017-01-17 18-04-59.png
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: TChart, Zahlenbrei

Beitrag von wp_xyz »

Wie hast das erzeugt? Kommt eigentlich so nicht vor, auch wenn eine Series sehr viele Datenpunkte enthält.

Die eigentlichen Labels kann ich nicht lesen - ok, wenn diese sehr lang sin, kann es in einigen ungünstigen Fällen zu Überlappungen kommen. In diesem Fall solltest du die Werte von Chart1.BottomAxis.Intervals.MaxLength und .MinLength vergrößern. z.B. MinLength (minimal erlaubter Abstand von zwei aufeinanderfolgenden Ticks in Pixeln) 40, MaxLength 80. falls es zu Labels mit vielen Dezimalstellen kommt, solltest du auch .Intervals.Tolerance moderat erhöhen (z.B. 2)

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TChart, Zahlenbrei

Beitrag von Mathias »

Wie hast das erzeugt? Kommt eigentlich so nicht vor, auch wenn eine Series sehr viele Datenpunkte enthält.

Schon mit diesem Minimal-Code kriege ich das hin.
Im Object-Inspektor, habe ich ausser Align nichts verstellt.

Code: Alles auswählen

type
  TForm1 = class(TForm)
    Chart1: TChart;
    Chart1LineSeries1: TLineSeries;
....
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to 100000 do begin
    Chart1LineSeries1.AddY(i);
  end;
end;                 
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: TChart, Zahlenbrei

Beitrag von wp_xyz »

Das ist zu wenig Information, das Problem zu reproduzieren - bei mir funktionierts (siehe Screenshot) -, denn wie die Labels positioniert werden, das hängt auch davon ab, wie groß das Diagramm ist. Auch bei mir kommen sich die langen Labels zu nahe, wenn ich das Formular dann etwas verbreitere. Das ist genau die Situation, die ich im vorigen Post beschrieben hatte, also durch die Vergrößerung von Intervals.MinWidth oder .MaxWidth verbessert werden sollte.
Dateianhänge
chartlabels.png
chartlabels.png (3.85 KiB) 1154 mal betrachtet

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TChart, Zahlenbrei

Beitrag von Mathias »

Im Anhang mein Programm mit dem Fehler.

Ich habe es mit WinXP und Linux Mint probiert.
Dateianhänge
chart_test.zip
(124.64 KiB) 45-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: TChart, Zahlenbrei

Beitrag von wp_xyz »

Warum machst du nicht, was ich ganz oben schon geschrieben habe? Einfach z.B. Chart1.BottomAxis.Intervals.MaxLength auf 80 setzen und schon ist alles in Ordnung. Und wenn's immer noch nicht geht, dann mach's nochmals etwas größer. Und/oder vergrößere auch MinLength.

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TChart, Zahlenbrei

Beitrag von Mathias »

Mit diesen beiden Parametern sieht es bei mir recht gut aus.

Code: Alles auswählen

  Chart1.BottomAxis.Intervals.MaxLength:=100;
  Chart1.BottomAxis.Intervals.MinLength:=20;


Nach meiner Meinung, ist der Standard-Wert recht knapp berechnet.
Im Anhang ein Screenshot, von einem einfachen TChart, ohne das irgend was verstellt oder rein geschrieben wurde.
Dateianhänge
Bildschirmfoto vom 2017-01-18 17-34-45.png.zip
(19.53 KiB) 42-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: TChart, Zahlenbrei

Beitrag von wp_xyz »

Naja... Was der eine Chart zu klein und die Labels zu lang waren, ist jetzt der Chart zu breit. Bei "normalen" Charts mit "normaler" Achsenbeschriftung und "normaler" Größe - was das "normal" auch immer bedeuten mag - hatte ich noch nie Probleme. Wobei: die standardmäßigen 10 bei MinLength erscheinen mir auch etwas knapp.

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: TChart, Zahlenbrei

Beitrag von Mathias »

Was mich noch an TChart fasziniert, ist die Geschwindigkeit, mit welcher das Diagramm dargestellt wird.
Immerhin, zeige ich 100'000 Messdaten an, und diese werden 2000x pro Sek aktualisiert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten