Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TeeChart (TDBChart) Achsenbeschriftung wiederspenstig (https://www.delphipraxis.net/166729-teechart-tdbchart-achsenbeschriftung-wiederspenstig.html)

Medium 27. Feb 2012 13:11

TeeChart (TDBChart) Achsenbeschriftung wiederspenstig
 
Mahlzeit DP!

Ich versuche meinem DBChart verzweifelt abzugewöhnen, seine X-Achse mit vollem Datum zu beschriften. Die Datenquelle ist zwar für die Achse ein DATETIME Feld (aus einer MySQL DB), da dort aber nur Messwerte der letzten 10 Minuten gezeigt werden, reicht mir die Anzeige der Uhrzeit aus.

Aktueller Stand ist das offensichtliche:
Delphi-Quellcode:
Chart.BottomAxis.DateTimeFormat := 'hh:mm:ss';
Beim FormCreate, und auch im Timer, der die zu der Series gehörende Query refreshed (nach dem Refresh). Das Chart scheint das aber völlig zu ignorieren, und nimmt stur das Format 'dd.mm.yyyy hh:mm:ss', was es sich automatisch ausgesucht hat.

Kennt grad jemand das richtige Rädchen das zu drehen wäre? Danke!

Bummi 27. Feb 2012 13:30

AW: TeeChart (TDBChart) Achsenbeschriftung wiederspenstig
 
Bei mir XE wird es wie von Dir gewünscht angezeigt, ist allerdings auch immun gegen Umstellungen auf ein anderes Format, egal welche Optionen man noch verbiegt es wird hh:nn verwendet.

UliBru 27. Feb 2012 15:48

AW: TeeChart (TDBChart) Achsenbeschriftung wiederspenstig
 
Delphi-Quellcode:
procedure TForm1.Chart1GetAxisLabel(Sender: TChartAxis;
Series: TChartSeries; ValueIndex: Integer; var LabelText: String);
var tmpTime:TTime;
h,m,s,ms:Word;
begin
  If Sender=Chart1.BottomAxis then // If labels from bottom axis
  begin
    tmpTime:=StrToFloat(LabelText); //First create TTime
    DecodeTime(tmpTime,h,m,s,ms);
    LabelText:=IntToStr(s)+':'+IntToStr(ms); // Rewrite label
  end;
end;
Ein Webbeispiel, welches die Verwendung des Events OnGetAxisLabel zeigt.

Medium 28. Feb 2012 06:54

AW: TeeChart (TDBChart) Achsenbeschriftung wiederspenstig
 
Das Event ist mir einfach mal durchgegangen :shock:. Besten Dank! (Darauf, dass hier der Sender die Achse, nicht das Chart ist, muss man aber auch erst mal kommen :))

Furtbichler 28. Feb 2012 07:04

AW: TeeChart (TDBChart) Achsenbeschriftung wiederspenstig
 
Du könntest auch mal mit dem DisplayFormat des entsprechenden Feldes spielen. Vielleicht übernimmt TChart das Anzeigeformat vom TField

Medium 28. Feb 2012 07:14

AW: TeeChart (TDBChart) Achsenbeschriftung wiederspenstig
 
In der Tat! So ist es natürlich noch netter, und eigentlich hätte man auch drauf kommen müssen. Nochmals danke :)


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