LabVIEWForum.de - Strings in XY Graph darstellen

LabVIEWForum.de

Normale Version: Strings in XY Graph darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag,

ich möchte Daten von zwei Strings in einem XY Graph anzeigen lassen, bzw. in einem Graphen,Signaldarstellung anzeigen lassen.
Bei Arrays mit Werten ist dies ja ohne Probleme machbar. Allerdings habe ich nun Schwierigkeiten das ganze mit den beiden Stringarrays zu machen. Als X-Achse möchte ich Uhrzeiten haben, als Y Graph die zugehörigen Werte.

Beim unteren Stringarray sollte das wandeln in Werte ja noch relativ einfach sein.
Für das obere Array und die Darstellung der Zeitachse im XY Graph habe ich aber noch keine Lösung gefunden.

Hat hierzu jemand einen Lösungsansatz?

Gruß Florian
Ein String hat in dem Sinne keinen darstellbaren Wert. Du musst den String erst in eine Zahl umwandeln. Funktionen dafür findest du in der Funktionspalette unter "String->Konvertierung".

Grüße,
Torsten
Hallo Torsten,

mit Werten die als String gespeichert wurden habe funktioniert es wunderbar.
Wo ich keine Lösung finde bisher, wie ich die Uhrzeiten, die als Strings drin sind in einem Diagramm als X Achse anzeigen kann.

Beim Beispiel bekomme ich dann für den String, der die Uhrzeiten enthält nur 0 Werte.

Gruß Florian
Du musst deinen Zeit-String in eine verwendbare Zahl umwandeln.
Zum Beispiel:
Deinen Eingangsstring xx:yy:zz aufsplitten beim Doppelpunkt. Dann hast du ein Array:

xx
yy
zz

Dann rechnest du alles in Sekunden um und addierst es zusammen.

(xx*3600+yy*60+zz)

Den Wert kannst du dann im Diagramm darstellen.
Hallo Torsten,

hatte gehofft, dass es eine einfachere Lösung gibt.
Dieser Lösungsweg bedeutet ja, dass ich alle Strings im Array einzeln in drei werte zerlegen muss und anschließend die Werte berechnen muss.
Das wird bei mehreren Strings mit Sicherheit lange Berechnungszeiten nach sich ziehen.

Scheint aber wohl keine anderen Alternativen zu geben?!

Trotzdem schon mal vielen Dank.

Gruß Florian
Das geht "relativ" fix. Die Frage ist, Warum du mit Strings arbeitest, wo die Strings in deinem Programm herkommen? Es gibt den Datentyp "Zeitstempel". Wenn du den von Anfang an verwendest, brauchst du nix umrechnen!
Hallo Florian,

neben TSchACs berechtigter Frage kann man natürlich noch die Möglichkeit anführen, deine Strings mittels ScanFromString und passendem Formatstring direkt in Timestamps umwandeln zu lassen...
(27.02.2012 15:22 )TSchAC schrieb: [ -> ]Dann rechnest du alles in Sekunden um und addierst es zusammen.
(xx*3600+yy*60+zz)
Wie von Gerd schon erwähnt, wird man doch besser Format-Strings benutzen, da muß ich doch nicht wissen müssen, wieviel Sekunden eine Minute und ein Stunde hat Big Grin.
[attachment=38856]
Hinweis: Die angeschlossenen Konstante (Hier: I32) bestimmt das Format des numerischen Ausgangswertes. Wenn man nichts anschließt, hat man einen Zeitstempel, den man ebenfalls direkt für die Graphik verwenden könnte.
Hallo nochmal....

hab mal nochmal ein wenig probiert. Doch irgendwie bringe ich die Darstellung nich so hin, wie ich mir das vorstelle.
Bei der X Achse möchte ich die Uhrzeiten stehen haben und auf der Y Achse die Werte.

Jedem Wert ist also eine genaue Uhrzeit zugeordnet. Das ganze soll dann zeitlich eben auch richtlich dargestellt werden.

Hab auch mal die Strings in einen Zeitstempel gewandelt, doch hänge ich hier wieder daran, wie ich den dann in dem XY Graph verwenden kann.
Hat jemand zufällig ein Nachschlagewerk vor allem im Bezug auf Graphen und Diagramme?

Hab hier zwar auch ein Buch, aber das deckt nicht annäherend die Erfordernisse ab... Smile

Gruß Florian
Hallo Florian,

da du nicht zeigst, was du so rumprobiert hast, können wir nur allgemeine Beispiele zeigen, die demonstrieren, wie es funktioniert:
[attachment=38872]
Jetzt noch die X-Achse als Zeitanzeige formatieren und fertig...
Referenz-URLs