TChart mit Zeitskala
Hallo,
ich nutze die Komponente TChart und brauche da ein wenig Hilfe: Ich will Jede Sekunde den Chart mit einem Messwert Füllen (Temperatur zu Zeit) Y -Achse Temp X -Achse Zeit Wenn ich jetzt das im Timer mach sieht das so aus: Timer.Tag wird alle 1 Sek hochgezählt
Delphi-Quellcode:
Nun habe ich aber nach zB. 1000 Sekunden ein Problem, ich will dann nach 60 sek nicht mehr Sekunden sondern Minuten anzeigen und vielleicht nach 60 Minuten die Stunden.lnAkuelleInnenTemp.AddXY(Timer1.Tag,Temps.TempInnen.temp * 0.1); lnAktuelleAussenTemp.AddXY(Timer1.Tag,Temps.TempAussen.temp * 0.1); Also ich will meine Skalendarstellung (Beschriftung) anpassen je nach vergangener Zeit. Könnt ihr mir da einen Tipp geben? Vielen Dank Gruß DelphiManiac |
Re: TChart mit Zeitskala
Definiere die X-Achse als Zeit (im Series-Pane) und packe nicht die Sekunden als Integer, sondern 'Sekunden/86400' als X-Wert in die Series rein.
|
Re: TChart mit Zeitskala
Muss ja irgendwie so gehen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin i := 0; end; procedure TForm1.Timer1Timer(Sender: TObject); var j : Integer; begin inc(i); case i of 1..60 : begin Chart1.BottomAxis.DateTimeFormat := 'hh:nn:ss'; end; 61 : begin for j := 1 to 59 do Series1.Delete(0); // ersten 59 Sekunden löschen Chart1.BottomAxis.DateTimeFormat := 'hh:nn'; end; else begin if i mod 60 <> 0 // jede Minute 1 Wert stehen lassen then Series1.Delete(Series1.XValues.Count -1); end; end; Series1.AddXY(now, Random(100), '', clTeeColor); end; |
Re: TChart mit Zeitskala
@alzaimar:
Hey erstmal Danke, wo genau finde ich denn die Einstellung (Series Pane?) In der Konfig für den gesamt Graph oder für die einzelnen Series? Danke |
Re: TChart mit Zeitskala
IMHO in der Series.
Series.XValues.DateTime:=true; oder do ähnlich |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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