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/)
-   -   Delphi TChart - geeignet für wissenschaftliche XY Plots ? (https://www.delphipraxis.net/90375-tchart-geeignet-fuer-wissenschaftliche-xy-plots.html)

moelski 16. Apr 2007 14:02


TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Ich hätte mal ne generelle Frage zu TChart und hoffe mal das es hier Leute gibt, welche die Pro Version davon gekauft haben.

Kann man mit TChart wissenschaftliche / kartesische XY Plots erstellen und bearbeiten?
Prinzipiell ist das sicherlich möglich, denn zum Darstellen von Kurven ist das Ding ja da :wink:
Meine Fragen wären da etwas speziellerer Natur ...

1) Kann man in den Kurven messen? Also kann man einen Cursor / Linie einbinden und er liefert mir als Ergebnis den X und / oder Y Wert bzw. bei mehreren Kurven auch alle / einige Y Werte?
Sind auch Differenzmessungen möglich mittels 2 Cursor um z.B. eine Zeitdifferenz zu ermitteln?
2) Kann man in den Kurven Markierungen erstellen um markante Punkte zu kennzeichnen? Also quasi ein kleiner Pfeil der auf was zeigt und dazu ein kleiner Text.
3) Kann man mit der Komponente Kurven getrennt und übereinander darstellen? Ist blöd zu beschreiben. Was ich meine ist das hier:
http://umtof.umd.edu/pm/crn/CRN_1982.GIF
Also eine X Achse und untereinander gelegt verschiedene Kurven mit der gleichen X Achse.
4) Wie effizient ist die Komponente? Bei unserer Anwendung werden teilweise recht schnell die Kurven erweitert (Messwerterfassung). Oder sagen wir mal ... Wie CPU hungrig und speicherintensiv ist die Komponente? Gibts da Erfahrungswerte?
5) Bietet TChart Pro Möglichkeiten wie Kurvenglättung oder Interpolation? Wenn ja, können dafür auch Parameter eingestellt werden wie stark z.B. geglättet werden soll?

Wäre nett wenn da ein TChart User mal was zu schreiben könnte. Aber wie gesagt ... Mir geht es eher um die Pro Version, als um das was bei Delphi dabei ist.

v2afrank 16. Apr 2007 14:47

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Ich hoffe mal, dass ich zu einigen Punkten was sagen kann.
1. Ja, das kassnt Du über das Cursortool realisieren. Und mit einem zweiten Charttool kannst Du auch eine Differenzmessung machen
2. Ich bin mir nicht sicher, ob man es auch als Pfeil realisieren kann. Aber ein Annotationtool kan man beliebig positionieren und auch beschriften. Ansonsten kannst Du noch eine Arrowseries nehmen
3. Ja, über Custom Axis
4. Da kann ich dir leider keine Erfahrungswerte geben, aber zumindest in derem Demoprogramm kommt es zu keiner Nennenswerte Verzögerung bei der Fastlineseries.
5. In der Demo sprechen Sie unter Functions/Extended von "Smoothing SPLine". Genutzt habe ich das aber noch nicht, so dass ich Dir dazu nichts sagen kann


So allgmein, hast Du Dir schon mal das Demo angeschaut ? Das zeigt doch recht eindrucksvoll alle Features. Ich glaube sogar, dass Du bei Steema eine Demoversion der Komponente bekommst. Ich benutze übrigens die Version 7.08 für Delphi 2006

moelski 16. Apr 2007 15:02

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Na das klingt ja schon mal nicht so übel ...
Zitat:

So allgmein, hast Du Dir schon mal das Demo angeschaut ?
Ja sogar schon mehrfach. Aber ich konnte nie die richtigen Funktionen in dem Wust finden :drunken:

Zitat:

Das zeigt doch recht eindrucksvoll alle Features
Naja alle sicher nicht. Denn die Sache mit den übereinander liegenden Kurven finde ich dort nicht (oder ich habe auch das übersehen)

Zitat:

Ich glaube sogar, dass Du bei Steema eine Demoversion der Komponente bekommst
Stimmt und auch schon in einer Testumgebung installiert. Aber da steht man erstmal ziemlich ratlos da wenn man das noch nie benutzt hat ...

Zitat:

Aber ein Annotationtool kan man beliebig positionieren und auch beschriften. Ansonsten kannst Du noch eine Arrowseries nehmen
Öhm könntest du mir evtl. mal eine kleine Demo erstellen wo man das mal sehen kann? Mir würde auch schon eine kleine Grafik reichen wo man es sieht.

Zitat:

5. In der Demo sprechen Sie unter Functions/Extended von "Smoothing SPLine". Genutzt habe ich das aber noch nicht, so dass ich Dir dazu nichts sagen kann
Vielleicht hat da ja jemand anderes noch ein paar Erfahrungen?!

v2afrank 16. Apr 2007 15:09

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Ich gebe ja zu , es ist wirklich ziemlich unübersichtich bzw. es existieren einfach zu viele Features.
Die übereinanderliegenden Kruven habe ich jetzt auch nicht wieder gefunden. Nur wenn ich unter Suche "custom axis" eingebe, findet das Demo das entsprechende.
Ich versuch mal eine Demo für das Annotation Tool zusammenzustellen, das wird aber wahrscheinlich erst morgen früh was.

moelski 16. Apr 2007 15:12

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Ich habe jetzt nochmal die Demo angesehen.
Man sollte auch mal auf "All Features" klicken. Sonst sieht man nur die neuen Features :wall:
Manchmal ist man irgendwie bind.

Deine Demo. Das wäre super wenn das ging. Vielleicht kannst ja auch gleich mal das Custom Axis mit rein nehmen wenn das nicht zu kompliziert is ... Wie auch immer schon mal Danke !!! :thumb:

messie 16. Apr 2007 15:16

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Zitat:

Zitat von moelski
Vielleicht hat da ja jemand anderes noch ein paar Erfahrungen?!

Jau, und zwar mit Messdatenerfassung. Ich füttere aus einem Ringspeicher einen Graphen mit TeeChart Pro. Da können bis 2K Werte auflaufen. Real gesehen habe ich ca 1000 Werte/s, weil der Datenstrom die spezifizierten 2k noch nie erreicht hat. Das geht aber nur mit TFastLineSeries, weil die auf 3D und vieles andere verzichtet.

Ich habe die Darstellung mit CustomAxis auch nicht hinbekommen und dann mehrere Charts untereinander gesetzt. Wäre auch an einem einfachen Beispiel interessiert, was auch läuft.

Grüße, Messie

moelski 16. Apr 2007 15:31

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Je länger ich die Demo betrachte um so besser gefällt mir die Komponente.
Scheinbar ist die ja doch ganz brauchbar ...

Zitat:

Real gesehen habe ich ca 1000 Werte/s,
Na das ist mal eine Messlatte. Wie hoch ist die CPU Last denn bei sowas ?
Und kann man (nach dem Aufzeichnen) einen anderen Chart Typ verwenden? Also könnte man im Nachhinein mal auf 3D stellen ?


Und ich muss nochmal nachfragen mit den Messfunktionen. Kann man wirklich bei einem Chart mit sagen wir mal 5 Kurven, alle kurven gleichzeitig messen so das ich im Endeffekt einen X Wert und 5 Y Werte habe ?

moelski 16. Apr 2007 15:38

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Ich habe was wichtiges vergessen. Sind eigentlich mutiple Y Achsen möglich?
Und kann man diese Y Achsen beliebig nach links oder rechts legen?

Weil es ist nicht immer von Vorteil für alle Kurven die gleiche Y Achse zu verwenden. Das machen wir in unserer Software fast nie.

messie 16. Apr 2007 15:55

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Zitat:

Zitat von moelski
Zitat:

Real gesehen habe ich ca 1000 Werte/s,
Na das ist mal eine Messlatte. Wie hoch ist die CPU Last denn bei sowas ?
Und kann man (nach dem Aufzeichnen) einen anderen Chart Typ verwenden? Also könnte man im Nachhinein mal auf 3D stellen ?

Die Prozessorlast habe ich nicht gemessen, weil ich Datenerfassung und Anzeige in unterschiedlichen Threads habe, das wäre mir zu aufwendig gewesen. Die Datenerfassung hat auch eine höhere Priorität.
Das Update der Graph-Anzeige habe ich auf etwa 10-15Hz gesetzt (kann ich grad nicht nachsehen), da nimmt man den blockweisen Aufbau nicht wahr. Damit war die Prozessorlast gering, denn das Beschreiben des Bildspeichers kostet am meisten Ressourcen.
Die angezeigten Daten liegen in einem vom Chart verwalteten Real-Array. Bei TFastLineSeries wird abgeglichen, welche Werte neu oder geändert sind und nur diese werden gezeichnet, daher die Geschwindigkeit. Diese Werte kann man direkt an jeden anderen Chart übergeben.
Die Geschwindigkeit hängt noch von der Menge der dargestellten Punkte im Graphen ab, gerade wenn man mal ein Repaint macht. Aber Dein Bild sieht ja so aus, als würdest Du mit einer konstanten Punktzahl arbeiten.
Grüße, Messie

moelski 16. Apr 2007 16:09

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Zitat:

Aber Dein Bild sieht ja so aus, als würdest Du mit einer konstanten Punktzahl arbeiten.
Nein so ist es def. nicht.
Bei uns erweitert sich im Moment die Punktezahl mit jedem neuen Telegramm / Punkt der reinkommt.

Das sollte auch so bleiben und nur bei Bedarf geändert werden.

Zitat:

Bei TFastLineSeries wird abgeglichen, welche Werte neu oder geändert sind und nur diese werden gezeichnet, daher die Geschwindigkeit
Das ist sehr gut!!

Kannst du noch was zu den "multiplen" Y Achsen sagen? Siehe 2 Postings vorher von mir ...

v2afrank 17. Apr 2007 07:41

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, ich habe mir die Sache mit den üereinanderliegenden Kurven auch noch mal angeschaut. Das habe ich jetzt so doch nicht hinbekommen, da die Custom Axis anscheinend nur als Y-Achse funktionieren. Da Du das auch nachgefragt hast, habe ich mal ein Bild beigefügt. Wegen den Pfeilen versuche ich mal ein Besipiel zusammenzustellen, was ich dann hier hochlade

moelski 17. Apr 2007 07:43

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !

Ich habe gestern Abend noch eine ganze Weile mit der Demo rumgespielt und mir die fertige Demo angesehen.
Je mehr ich damit arbeite um so besser gefällt mir das TeeChart.

Aber ich habe gestern keine Antwort auf die Frage finden können ob denn nun multiple Y-Achsen machbar sind. Man kann zwar Achsen anlegen wie ein wilder, aber die erscheinen nicht in der Grafik.

Kurzum, schaut euch mal das angehängte Bild an. Ist das mit TeeChart machbar und wenn ja, kann mir jemand kurz beschreiben wie man das erstellen kann (erstmal einfach mit dem TeeChart Editor)?

moelski 17. Apr 2007 07:45

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

@v2afrank:
Zwei Doofe ein Gedanke :mrgreen: :cyclops: Danke für das Bild !!
Ok, das funktioniert also schon mal.

Könntest du mir mal ganz grob beschreiben wie ich das hinbekomme mt dem Editor?
Würde da gerne mal etwas mit spielen.

Kann man eigentich die Eigenschaften der Achsen komplett anpassen, also sowas wie:
- Farbe der Achse
- Beschriftung
- Farbe der Beschriftung
- Schriftart der Beschriftung
- etc

v2afrank 17. Apr 2007 08:13

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
ja kann man machen. Ich habe mitlerweil auch die doppelten mehrfachen X-Achsen hinbekommen.

Du musst folgendermassen vorgehen.
-Achse im Editor hinzufügen
-jetzt auf die neue Achse klicken (z.B. Extra 0).
- hier kannst Du jetzt die Eigenschaften bearbeiten.
Titel der Achse unter Titel/Stil und Titel/Text (mit Farbe und Schriftart)
Art und und Farbe der Beschriftung unter Beschriftung Text
Unter Teilstriche / Achse kannst Du die Farbe der Achse bestimmen
...
Wichtig ist noch die Lasche Position der Achse. Hier kannst Du angeben, um wieviel Prozent bzw /um wieviel Pixel die Achse verschoben ist. Dort gibt es auch eine Checkbox Horizontal. Wenn Du diese ankreuzt kannst hast Du eine neue X-Achse.

Anschließend musst Du im Editor auf die Series gehen. Dort kannst Du unter allgemein auswählen welche Achsen die Series hat. Hier hast Du jetzt auch die Möglichkeit Deine neue Achse auszuwählen

moelski 17. Apr 2007 08:22

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

@v2afrank: DANKE :shock:
Ich werde das gleich mal testen.

Das sieht schon fast aus wie ein kleine LogView :zwinker:

Ich hoffe ich kann hier noch mit weiteren Fragen etwas nachhaken.
Eine wäre z.B. wenn ich mehrere Kurven habe, kann ich dann alle zur gleichen Zeit messen?
Also quasi ein Marker der die Position anzeigt und als Feedback bekomme ich den X Wert und alle Y Werte der sichtbaren Kurven.

v2afrank 17. Apr 2007 08:40

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Erst noch einmal zu einer Deiner vorherigen Fragen.
Über Series hinzufügen, Erweitert kannst Du eine TArrowseries hinzufügen mit der Du wichtige Punkte markieren kannst. Das ganze kann dann wie im Bild dargestellt aussehen

Zu Deiner neuen Frage. Wenn ich das richtig sehe, kann man das Cursortool, welches eben die Messwerte abfährt immer nur auf eine Series ausrichten. Wenn allerdings die Messwert zur gleichen Zeit aufgenommen werden, sollte folgendes funktionieren
Delphi-Quellcode:
procedure TGesamtdaten.ChartTool1Change(Sender: TCursorTool; x, y: Integer;
  const XValue, YValue: Double; Series: TChartSeries; ValueIndex: Integer);

 begin
    Messwertlabel.Caption := FormatFloat('0.0', series.YValue[ValueIndex])+' V';
    //Hier könntest Du ja jetzt die Messwerte der anderen Series an Valueindex abfragen und ggf. Anzeigen
 end;

messie 17. Apr 2007 08:57

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Zitat:

Zitat von moelski
wenn ich mehrere Kurven habe, kann ich dann alle zur gleichen Zeit messen?
Also quasi ein Marker der die Position anzeigt und als Feedback bekomme ich den X Wert und alle Y Werte der sichtbaren Kurven.

Wenn Du meinst, Du willst die Werte von mehreren Kurven auslesen (gemessen hast Du sie ja schon), das geht. Relativ einfach, wenn alle Kurven in einem Chart sind mit dem TCursorTool. Das kann man so einstellen, daß es sich den nächsten Datenpunkt sucht. Aus dem x-Wert kannst Du dann die Werte aller Kurven auslesen und ausgeben. Probier damit einfach mal rum.
Die Cursorfunktion habe ich bisher nur im Offlinebetrieb verwendet, weil dort sehr viele Zugriffe auf den Bildspeicher sind. Ich weiß nicht, ob das während einer schnellen Datenerfassung möglich ist.

Grüße, Messie

moelski 17. Apr 2007 08:59

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

@v2afrank:
Als das mit den multiplen Y-Achsen habe ich nun auch hinbekommen. Wenn man weiss wos geht isses einfach :-)
Danke für die Beschreibung !!

Zitat:

Über Series hinzufügen, Erweitert kannst Du eine TArrowseries hinzufügen mit der Du wichtige Punkte markieren kannst. Das ganze kann dann wie im Bild dargestellt aussehen
Hmm, wenn ich diese Arrow Serie hinzufüge, dann kriege ich einen wüsten Haufen von Pfeilen.
Kann man das auch so machen das man quasi den Pfeil mit der Maus zieht und er mich dann noch nach dem Text fragt?

Weil die Markierungen soll ja in User selber erstellen können.


Das mit dem Messen ist fein dass das auch geht.

v2afrank 17. Apr 2007 09:08

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Ist richtig, man bekommt erst einmal einen wüsten Haufen mit Pfeilen. Ich habe das in meinem Screenshot vorher manuell angepasst (Nur einen Eintrag, denn ich dann manuell gesetzt habe).

Was Du aber wohl eher brauchst ist das DrawlineTool. Damit kann der Benutzer selber zeichnen.
Gemacht habe ich damit noch nichts, ich könnte mir aber vorstellen, das Du zusammen mit dem Annotation Tool die gewünschte Funktionalität hinbekommst.
Schau Dir die Demo von den beiden Tools noch einmal an

moelski 17. Apr 2007 09:42

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Zitat:

ich könnte mir aber vorstellen, das Du zusammen mit dem Annotation Tool die gewünschte Funktionalität hinbekommst.
Habe das mal probiert ... Da ist dann schon noch ne Menge an Eigencode nötig. Denn die Annotation und die Linie reagieren erstmal goned zusammen auf ein Klicken z.B. Man müsste dann also eine Funktion schaffen, welche die Linie neu zeichnet und mit der Box mitführt.
Vielleicht kann man sich ja auch a mal zu an den Support wenden ob die das nicht als zusätzliches Tool implementieren können. Weil das ist ja nicht so eine unbrauchbare Funktion. Und nur die Annotaions sind halt etwas wenig. Denn da fehlt meist der Bezug zur Grafik.
Wie hilfsbereit ist der Support bei denen eigentlich? Es soll ja Komponentenhersteller geben die sich um ihre Kunden eher stiefmütterlich kümmern ...

Hätte da noch ne Frage zum Messen ...
Kann man da zwei Marker einfügen und eine Differenzmessung machen? Z.B. um eine Zeitdifferenz zu bestimmen?

v2afrank 17. Apr 2007 09:53

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Zum Support kann ich nicht sagen. Ich hatte mit denen noch nichts zu tun.
Zum Messen. Du kannst Problemlos zwei Marker einfügen mit denen Du dann Differenzmessungen machen kannst

moelski 17. Apr 2007 10:09

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Zitat:

Zum Messen. Du kannst Problemlos zwei Marker einfügen mit denen Du dann Differenzmessungen machen kannst
Subber. :thumb:

So langsam gehen mir die Fragen aus :mrgreen:

Ne im Ernst ... Ich denke wenn man die Sache mit den Annotations + Pfeil in den Griff bekommen würde, dann spricht im Moment nicht mehr soo viel gegen die Komponente.

Was mir ja ehrlich gesagt gar nicht so zusagt (weil es nicht so wirklich in unser (optisches) Konzept passt) ist dieser Editor für die Charts. Ich finde den etwas arg unübersichtlich und vor allem sehr "gedrungen" was seine Komponenten angeht.
Ist es kompliziert sich da was eigenes zurecht zu basteln? Oder anders ausgedrückt ... Muss man viel Quellcode tippen um seinen eigenen Series / Axis Editor zu proggen?

Bei den RT-Tools gibt es sogenannte PropertyLinks. Da kann man eine Eigenschaft der Komponente verlinken (z.B. setzen der Kurvenfarbe) und den rest macht gleich die Komponente. Das ist sehr praktisch weil man sich so rel. einfach einen eigenen Dialog basteln kann. Gibts sowas da auch?

v2afrank 17. Apr 2007 10:23

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Editor ist wirklich unübersichtlich.
Das Basteln eines eigenen Editos ist sicherlich möglich. Es kommt halt darauf an, was Du alles editieren willst. Ich habe mal einen Editor zusammen mit dem JVInspector der Jedis gebaut (den man aber auch erst einmal durchschauen muss) . Einen Screenshot habe ich beigefügt. Wenn Du willst kann ich ja mal versuchen den relevanten Code herauszuziehen
Ansonsten einfach die Einstellungen die der Benutzer verändern darf in einen eigenen Editor packen.

moelski 17. Apr 2007 10:32

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !

Das ist aber nicht der Property Editor der mit TeeChart daher kommt, oder?
So wäre die Sache schon schön einzurichten.

Ich habe Delphi 7 Pro. Da gibts leider einen solchen Prop Editor noch ned :?

Zitat:

Wenn Du willst kann ich ja mal versuchen den relevanten Code herauszuziehen
Das wäre natürlich hilfreich !

Anbei mal einen Screen was man bei uns einstellen kann pro Kurve.

v2afrank 17. Apr 2007 10:41

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Wie gesagt, dass war der Objektinspektor der Jedis, den ich dahingehend ermächtigt habe meine geünschten Einstellungen vorzunehmen. Den Sourcecode rauszuziehen ist aber doch sehr aufwendig.
Einen solchen Editor wie Du ihn im Screenshot gezeigt hast, ist aber sehr leicht nachzubauen (Natürlich ist es aber mit Schreibaufwand verbunden)
In dem Tab Kurve bezieht sich anscheinend alles auf die Series.
Da könntest Du mit Series.linecolor:=DeineGewaehlteFareb; die Farbe einstellen. Auch die anderen Einstellungen sind nur normale Properteies der Series bzw. des Charts. Wie gesagt ist nur ein bischen Schreibarbeit

messie 17. Apr 2007 11:24

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Zitat:

Zitat von moelski
Wie hilfsbereit ist der Support bei denen eigentlich? Es soll ja Komponentenhersteller geben die sich um ihre Kunden eher stiefmütterlich kümmern ...

Der Support von Steema ist eigentlich ok. Das gibt es ein Supportforum, in dem die Admins die Fragen beantworten. Normalerweise sind Antworten innerhalb eines Tages da. Einloggen kannst Du Dich da allerdings nur mit einer Lizenznummer.
Aber schau es Dir ruhig mal an:
TeeChart Support

Grüße, Messie

moelski 17. Apr 2007 11:33

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Zitat:

TeeChart Support
Habe ich mir schon angesehen. Auch die Newsgroups habe ich schon mal angeschaut ...

Tja im Moment fällt mir nix mehr ein was ich noch fragen könnte. Ich werde jetzt noch ein paar Tests machen bezüglich der Geschwindigkeit und der CPU / Speicherauslastung.

Am Donnerstag Abend diskutiere ich dann mit meinem Kollegen noch über dieses Thema. Da werden sicher noch 1-4 Fragen auf den Tisch kommen. Die würde ich dann nochmal hier posten.

Bis dahin möchte ich mich nochmal bei allen ganz herzlich bedanken die hier im Fred sehr ausführlich geholfen haben. Das hat den Entscheidungsprozess doch deutlich vereinfacht. :thumb: :cheers:

moelski 17. Apr 2007 13:05

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Tja, ging schneller als gedacht ... Mir sind zwei Sachen aufgefallen die nicht ganz so prall sind (oder ich habs falsch eingestellt).

1) Wenn ich die Y Achsen von der Position her verschiebe, dann tut er das auch ganz fein. Wenn sich aber die Werte erhöhen (Y Achse), dann kann es vorkommen das die Zahlen gar nmmer zwischen die Y Achsen passen. Und TeeChart passt auch die Position nicht neu an. Kann man das einstellen das er selber drauf acht gibt, das die Beschriftungen der Y Achsen auh komplett dargestellt werden und nicht irgendwo überlappen bzw. was verdecken ?

2) Ich habe 6 Fast Line Series hinzugefügt und jede mit einer eigenen Y Achse. Dann füge ich über einen Timer einfach mehr oder minder schnell eine gewisse Anzahl Punkte ein. Was auffällt ist, das er immer bei jedem Punkt die Grafik erweitert. Das kann man gut erkennen wenn man mal so 15-20 tausend Punkte pro Kurve eingetragen hat. Dann sieht man regelrecht ein "Flimmern" der Kurve, weil er immer bei jedem Punkt die Kurven neu berechnen und zeichnen muss.
Man merkt auch deutlich wie dann die CPU Last steigt. Kann man das nicht so einstellen, das er hinten immer direkt einen gewissen "Leerraum" schaft wo er dann die folgenden Punkte wieder einträgt? Erst dann die Kurve wieder komplett neu berechnen.
Dazu ein Beispiel ...
Angenommen wir sind bei Punkt 300 in der Kurve. Dann würde er bei Punkt 301 die Kurve wieder komplett neu aufbauen, dann wieder bei 302, etc etc.
Wenn er nun aber die X Achse gleich auf 350 z.B. setzen würde, dann müsste er erst bei Punkt 351 wieder die Kurve komplett neu berechnen. Das wäre deutlich weniger CPU Last !!

moelski 17. Apr 2007 13:22

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !

Hier noch ein Beispiel mit meiner Demo ...
Man kann sehen wie die CPU Last bis 45.000 Einträge rauf kontinuierlich steigt. Ein arg unschöndes Verhalten. :?

messie 17. Apr 2007 13:44

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Zitat:

Zitat von moelski
Ich habe 6 Fast Line Series hinzugefügt und jede mit einer eigenen Y Achse. Dann füge ich über einen Timer einfach mehr oder minder schnell eine gewisse Anzahl Punkte ein. Was auffällt ist, das er immer bei jedem Punkt die Grafik erweitert. Das kann man gut erkennen wenn man mal so 15-20 tausend Punkte pro Kurve eingetragen hat. Dann sieht man regelrecht ein "Flimmern" der Kurve, weil er immer bei jedem Punkt die Kurven neu berechnen und zeichnen muss.
Man merkt auch deutlich wie dann die CPU Last steigt. Kann man das nicht so einstellen, das er hinten immer direkt einen gewissen "Leerraum" schaft wo er dann die folgenden Punkte wieder einträgt? Erst dann die Kurve wieder komplett neu berechnen.

Ja, kann man. Man kann die Größe der hinterlegten arrays festlegen. Schau mal, was hinter TSeries.XValues an Funktionen zu finden ist. Mit TSeries.AddXY solltest Du da nicht arbeiten weil dort jeweils ein Repaint ausgelöst wird.

Ich werde mein Projekt morgen mal wieder aus der Datensicherung ausmotten, vielleicht finde ich da noch ein paar Dinge. TeeChart ist wegen des großen Funktionsumfangs doch schwer zu überblicken und nach ein paar Monaten hat man vieles wieder vergessen.

Grüße, Messie

moelski 17. Apr 2007 13:49

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Zitat:

Ich werde mein Projekt morgen mal wieder aus der Datensicherung ausmotten, vielleicht finde ich da noch ein paar Dinge. TeeChart ist wegen des großen Funktionsumfangs doch schwer zu überblicken und nach ein paar Monaten hat man vieles wieder vergessen.
Naja wenn es da Wege und vor allem Lösungen gibt, dann bi ich ja zufrieden.
Ich habe übrigens derzeit einfach so etwas hinzugefügt:
Delphi-Quellcode:
    Inc(i);
    Chart1.Series[0].AddY(Sin(I/200) + 1);
    Chart1.Series[1].AddY(Cos(I/300) + 1);
    Chart1.Series[2].AddY(Sin(I/400) * Cos(I/300) + 1);
    Chart1.Series[3].AddY(ArcTan(Sin(I/200)) + 1);
    Chart1.Series[4].AddY(ArcTan(Cos(I/300) + 1));
    Chart1.Series[5].AddY(ArcTan(Sin(I/400) * Cos(I/300)) + 1);
Um die X Achse habe ich mich mal goned gekümmert.

Bleibt noch die Frage offen mit dem automatischen Anpassen (Breite) der Y Achsen so das der Text sauber lesbar bleibt ...

messie 17. Apr 2007 14:15

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Zitat:

Zitat von moelski
Ich habe übrigens derzeit einfach so etwas hinzugefügt:
Delphi-Quellcode:
    Inc(i);
    Chart1.Series[0].AddY(Sin(I/200) + 1);
    Chart1.Series[1].AddY(Cos(I/300) + 1);
    Chart1.Series[2].AddY(Sin(I/400) * Cos(I/300) + 1);
    Chart1.Series[3].AddY(ArcTan(Sin(I/200)) + 1);
    Chart1.Series[4].AddY(ArcTan(Cos(I/300) + 1));
    Chart1.Series[5].AddY(ArcTan(Sin(I/400) * Cos(I/300)) + 1);
Um die X Achse habe ich mich mal goned gekümmert.

Auch AddY erzeugt das Repaint.
Übrigens ist mir noch etwas eingefallen, was bei einer Kaufentscheidung wichtig sein könnte: TeeChart kann kein UniCode
(EDIT: jedenfalls Version 7.x). Das ist mir schonmal auf die Füße gefallen.

Grüße, Messie

moelski 17. Apr 2007 14:23

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Als Feature für V8 wird das angegeben:
Canvas WideString (Unicode) drawtext support

Weiss aber nicht auf was sich das alles bezieht.
Generell denke ich aber, das wir auch ohne UniCode auskommen werden. Unser Haupteinsatzgebiet dürfte sich auf die Sprachen Englisch, Deutsch, Französisch beschränken.

moelski 17. Apr 2007 14:58

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Ich habe eben noch diesen Artikel gefunden:
http://www.teechart.net/reference/mo...=article&sid=6

Einfach nur erstaunlich !!! :cyclops:

messie 19. Apr 2007 09:45

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Zitat:

Zitat von moelski
Als Feature für V8 wird das angegeben:
Canvas WideString (Unicode) drawtext support

Damit kämpfe ich gerade (oder vielmehr dagegen). Da funktioniert leider nur auf dem Bildschirm. Mit jedem OnDraw wird das überschrieben. Also muss man das im OnDraw machen. Wenn man den Graphen auf ein Printer.Canvas zeichnet, wird das OnDraw leider erst nach der Übergabe ausgelöst, also kann ich UniCode nicht drucken.

Den von Dir beschriebenen Link hatte ich als Grundlage für meine Charts damals benutzt.
Zum Ausmotten des Projekts bin ich noch nicht gekommen. :oops: Ich hoffe, ist nicht so dringend.

Grüße, Messie

moelski 23. Apr 2007 01:18

Re: TChart - geeignet für wissenschaftliche XY Plots ?
 
Moin !

Ich wollte nur kurz mitteilen das wir gestern TeeChart Pro geordert haben.
Warte auf die Lizenz und bin gespannt was das Ding noch alles kann.

Eine Frage vielleicht an dieser Stelle ...

Wenn ich zwei Y Achsen habe und lege sie beide auf die linke Seite. Dann kann ich ja bei einer Achse einstellen wie weit sie von der anderen entfernt ist, damit die nicht übereinander lieben. Das ganze geht in % und in Pixeln. Geht auch wundelbar, aber was ist wenn die Zahlen an der Achse größer werden? Also Bsp: wenn wir die Beschriftung von 0 -100 haben und durch neue Werte springt die Achse auf 0-10000. Dann kann es vorkommen das die Zahlen die nebenliegende Achse überschreiben.

Gibt es dafür einen Automatismus der das überwacht ?


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