LabVIEWForum.de
xy-Graph, array plotten in mehere, Linien , LV 7.1 - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: xy-Graph, array plotten in mehere, Linien , LV 7.1 (/Thread-xy-Graph-array-plotten-in-mehere-Linien-LV-7-1)



xy-Graph, array plotten in mehere, Linien , LV 7.1 - gregor00 - 08.05.2010 20:11

Hallo,

ich habe da ein Problem, an dem ich schon mehrere Tage am verzweifeln bin:
und zwar habe ich zwei arrays, die werte enthalten, die ich gerne plotten möchte. Dazu verwende ich einen xy-graph,und das erste array enthält die x-koordinaten und das zweite die entsprechenden y-koordinaten. Diese Punkte sollen geplottet, bzw. mit einer Linie verbunden werden. Das Problem ist nur, dass der Graph alle Punkte mit einer (langen) Linie verbindet.
Ich möchte die Darstellung jedoch etwas anders haben:und zwar soll Punkt 1 (array[0]) mit punkt 2 (array[1]) verbunden werden, und dann eine neue Linie, die Punkt 3 (array[2]) mit Pukt 4 (array[3]) verbindet, etc... Also Punkt 2 soll nicht mit Punkt 3 perbunden werden und Punkt 4 nicht mit Punkt 5 ...
D.h es sollen mehrere Linien geplottet werden. Ist sowas überhaubt möglich?? habe schon alles mögliche versucht und rumexperimentiert, aber nichts hat annäherd funktioniert.
Bin daher für alle Vorschläge und Ideen dankbar und beantworte gerne alle weiteren Fragen, sollte ich mich ein bisschen unverständlich ausgedrückt haben.

verwende LV 7.1

danke schonmal,

Grüße,Gregor


xy-Graph, array plotten in mehere, Linien , LV 7.1 - IchSelbst - 09.05.2010 09:03

' schrieb:Ich möchte die Darstellung jedoch etwas anders haben:und zwar soll Punkt 1 (array[0]) mit punkt 2 (array[1]) verbunden werden, und dann eine neue Linie, die Punkt 3 (array[2]) mit Pukt 4 (array[3]) verbindet, etc... Also Punkt 2 soll nicht mit Punkt 3 perbunden werden und Punkt 4 nicht mit Punkt 5 ...
D.h es sollen mehrere Linien geplottet werden. Ist sowas überhaubt möglich??
Ich sehe hier zwei Lösungsansätze.

Erstens:
Mach aus dem einen Array mit (z.B.) 100 Punkten 50 Arrays mit jeweils 2 Punkten. Dann hast du 50 unabhängige Kurven im Graph. Wieviele "2-Punkte-Kurven" kämen denn da zusammen?

Zweitens:
Sollten es zu viele Kurven werden, könntest du folgendes probieren: Lass die eine Kurve so wie sie ist, also durchgehend dargestellt. Jetzt generierst du eine zweite Kurve, die als Farbe die Hintergrundfarbe bekommt. Damit sollte diese Kurve "unsichtbar" sein. Die Werte dieser Kurve berechnest du so, dass sie auf der ersten Kurve liegt - und zwar immer über den Teilstücken, die nicht sichtbar sein sollen. Je nach Reihenfolge der beiden Kurven liegt nun die eine über der anderen.


xy-Graph, array plotten in mehere, Linien , LV 7.1 - gregor00 - 09.05.2010 10:05

Hallo IchSelbst,

Danke schonmal für die Anregungen. Das Problem ist allerdings, das die beiden Arrays von einer dll geliefert werden Also c-funktion, die die Arrays befüllt), so dass ich nicht wüsste wie ich sie teilen könnte. Wenn du dafür auch eine Lösung hast, nur her damit Rolleyes

Ich hätte da auch noch eine Idee: Wär es möglich, irgendwie mit einer schleife zu plotten, die halt das array in 2er-schritten durchlauft und die entsprechenden Werte plottet? Auf diese Weise habe ich die arrays in matlab geplottet und funktioniert einwandfrei.

vielen dank für weitere Vorschläge,
Grüße,
Gregor


xy-Graph, array plotten in mehere, Linien , LV 7.1 - IchSelbst - 09.05.2010 10:33

' schrieb:Danke schonmal für die Anregungen. Das Problem ist allerdings, das die beiden Arrays von einer dll geliefert werden Also c-funktion, die die Arrays befüllt), so dass ich nicht wüsste wie ich sie teilen könnte. Wenn du dafür auch eine Lösung hast, nur her damit Rolleyes
Dass die Arrays aus einer DLL kommen, ist völlig - irrelevant. Angel_not
Relevant ist lediglich, dass die beiden Arrays in einen XY-Graph hineingehen - und das machen sie auf LabVIEW-Ebene. Und genau in diesen Datenfluss kurz vor dem XY-Graph kann man ein SubVI einfügen, dass die Array-Konvertierung vornimmt.

Zitat:Ich hätte da auch noch eine Idee: Wär es möglich, irgendwie mit einer schleife zu plotten, die halt das array in 2er-schritten durchlauft und die entsprechenden Werte plottet? Auf diese Weise habe ich die arrays in matlab geplottet und funktioniert einwandfrei.
Eine derartige Funktionalität ist mir - für welchen LV-Graphen auch immer - nicht bekannt. (Vorausgesetzt du meinst ein automatisches Hochzählen der Anzahl der Kurven, nicht das automatische Verlängern einer festen Anzahl von Kurve)
Dieses Vorgehen entspricht aber genau dem, was ich vorgeschlagen habe: Nur dass die 2er-Schritte nicht direkt in den XY-Graphen gehen, sondern in einem 2D-Array zwischen gespeichert werden müssen.


xy-Graph, array plotten in mehere, Linien , LV 7.1 - gregor00 - 09.05.2010 11:17

Ok, verstehe, wie du das meinst. Könntest du mir noch ein bisschen konkreter beschreiben ( in einem kleinen Beispiel oder so) wie genau ich das in LV umsetze? Bin noch ein ziemlicher Neuling in der Arbeit mit LV und dementsprechend wenig bis kein Erfahrung mit der Umformung/Teilung von Arrays....Sad


Danke nochmal für deine Mühe und Geduld,
Gruß,
Gregor


xy-Graph, array plotten in mehere, Linien , LV 7.1 - IchSelbst - 09.05.2010 18:30

' schrieb:Könntest du mir noch ein bisschen konkreter beschreiben ( in einem kleinen Beispiel oder so) wie genau ich das in LV umsetze?
Hm.

Guckst du Bild und VI.

Lv71_img1


xy-Graph, array plotten in mehere, Linien , LV 7.1 - gregor00 - 11.05.2010 14:01

Jau, vielen Dank, so funktioniert es einwandfrei!!!

danke nochmal...


xy-Graph, array plotten in mehere, Linien , LV 7.1 - Lucki - 11.05.2010 17:45

Das geht einfacher. Man muß nur zwischen alle Punkte. die nicht durch eine Linie verbunden sein sollen, einen nicht darstellbaren Punkt mit Wert "NaN" in der X- und/oder Y-Koordinate dazwischenlegen. Also z.B so:
[attachment=26413]
Lv71_img[attachment=26414]