![]() |
TChart- oder TeeChart-Frage...
Hallo Experten!!
Ich habe mich nun mit der Demo-Version einer TeeChart herumgespielt und nun hätte ich noch 2 Fragen: +) Wie schafft man es auf der linken Achse auch den Minimumwert anzuzeigen?? Also wenn ich die obere Grenze mit 10 festlege und den Minimumwert mit -10 (egal, Effekt ist auch bei einem pos. Wert derselbe) dann seh ich zwar in der View die Obergrenze von 10 aber nicht die Untergrenze von -10?? +) Später sollen Daten dynamisch angezeigt werden, welche von einem Sensor kommen. Soll heissen, die Chart soll quasi in einem definierten Zeitfenster von z.b. 30 sec. die Werte anzeigen und quasi mit fortlaufender Zeitdauer 'mitwandern', wie z.b. im TaskManager (Verlauf der CPU-Auslastung oder Auslagerungsdateiauslastung). Wie macht man das?? :roll: Bitte um Hilfe!! LG Thomas |
Re: TChart- oder TeeChart-Frage...
Erst einmal zu Deiner zweiten Frage
Füge jeder Series ein Afteraddereignis hinzu
Delphi-Quellcode:
Zu deiner zweiten Frage Hast Du auch automaticminimum auf false gesetzt ?
procedure TMakrofenster.Series1AfterAdd(Sender: TChartSeries;
ValueIndex: Integer); var step:Double; Const ZEITRAUM=30; begin step:=DateTimeStep[dtOnesecond]*ZEITRAUM; With Sender.GetHorizAxis do { <-- with the Horizontal Axis... } Begin Automatic := False; //always show the last time Maximum := Sender.XValues.MaxValue; // show only last desired interval Minimum := Maximum - step; end; // Delete all "invisible" points While (Sender.Count>0) and (Sender.XValues[0] < Sender.GetHorizAxis.Minimum) do Sender.Delete(0); end; |
Re: TChart- oder TeeChart-Frage...
Morgen Frank!!
Danke für den Tipp!! Hätte diesen auch gerne ausgeführt....habe aber bei TChart kein AfterAdd-Ereignis zur Verfügung....nur ein AfterDraw??!! procedure TfmMain.displaySensorDataAfterDraw(Sender: TObject); begin end; LG Thomas |
Re: TChart- oder TeeChart-Frage...
Ich hätte weiters gern in der Mitte eine vertikale Linie....die auch bei der "wandernden" Anzeige, in der Mitte bleibt....quasi als Orientierung, wo man sich gerade im Video befindet...wie kann man das realisieren??
|
Re: TChart- oder TeeChart-Frage...
Das mit dem AfterAdd-Ereignis hat sich bereits geklärt...ist ein wenig versteckt zu finden...man muß zuerst die Series im OI auswählen.
Bleibt noch die Frage nach der senkrechten Orientierungs-Linie in der Mitte... :gruebel: |
Re: TChart- oder TeeChart-Frage...
Dazu würde mir jetzt nur einfallen, dass due eine neue Series hinzufügst, und diese immer wieder in der Mitt zeichnest. Obs schnell genug ist, kann ich Dir leider nicht sagen.
|
Re: TChart- oder TeeChart-Frage...
Also eine vertikale Linie zu zeichnen, das habe ich geschafft...mittels...
middleLine:=(Chart1.BottomAxis.IStartPos+Chart1.Bo ttomAxis.IEndPos) div 2; Chart1.Canvas.DoVertLine(middleLine,Chart1.LeftAxi s.IStartPos, Chart1.LeftAxis.IEndPos); Auch vorher konnte ich im wesentlichen schon zur Design-Time eine vertikale Linie zeichnen ... z.b. benutzerdefinierte Achsen... Mein Problem ist nachwievor, daß sich die Linie "vertschüßt", sobald Daten in die Tee-Chart gezeichnet werden....weiß da jemand weiter?? LG Thomas |
Re: TChart- oder TeeChart-Frage...
Liste der Anhänge anzeigen (Anzahl: 2)
Weiß wirklich niemand mehr weiter??
Bilder von meinem Problem seht ihr im Anhang!! LG Thomas |
Re: TChart- oder TeeChart-Frage...
Was passiert, wenn Du das neuzeichnen der Mittellinie nach jedem afteradd asuführst. Meiner Meinung nach müßte Sie dann neu gezeichnet werden. Eventuell mußt Du aber noch die Berechnung des Mittelpunktes anpassen
|
Re: TChart- oder TeeChart-Frage...
Hallo Frank!!
Dies passiert bereits mittels....da wird auch der Mittelpunkt immer wieder neuberechnet.. procedure TfmMain.displaySensorDataAfterDraw(Sender: TObject); var middleLine : Integer; begin middleLine:=(displaySensorData.BottomAxis.IStartPo s+displaySensorData.BottomAxis.IEndPos) div 2; displaySensorData.Canvas.DoVertLine(middleLine,dis playSensorData.LeftAxis.IStartPos, displaySensorData.LeftAxis.IEndPos); end; LG Thomas |
Re: TChart- oder TeeChart-Frage...
Ich hab das Gleiche auch schon mit AfterAdd der jeweiligen Serie ausprobiert...auch kein Unterschied!! LEIDER!!!
|
Re: TChart- oder TeeChart-Frage...
Problem um einiges reduziert!!
Grund: Ich hatte eine schwarze vertikale Linie auf schwarzem Hintergrund...geht schlecht!! :wall: Weiß wer, wie man diese Linie die man mit DoVertLine erzeugt hat ein wenig in Farbe und Dicke umgestalten kann?? :?: LG Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz