INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

XY Graph zeichnen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

01.11.2011, 18:43
Beitrag #1

LV-Starter123 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Sep 2011

2010
2011
DE


Deutschland
XY Graph zeichnen
Hallo Leute,

ich habe einiges im Forum bezüglich meinem Problem, welches ich gleich erläutere gelesen. Ebenso die Bsp. VI`s von NI durchgestöbert, trotzdem hänge ich momentan an einer Stelle.

Es geht darum bei einem XY Graph eine Kennlinie mit der Maus zu zeichnen, wobei dies nicht Freihand in alle Richtungen gezeichnet werden darf sondern von links nach rechts z.b. von der 0s bis z.b. 10s. Hierbei soll auch kein Gewackel des Freizeichnens auftauchen, daher besteht mein Wunsch darin eine Kennlinie bei Amplitude 0 vorzugeben und als Startinitialwert bis 10 Sek. laufen zu lassen. Ich kann dann noch das dt bestimmen somit habe ich wie am Besten im angehängten Bsp. zu sehen ist eine Kennlinie mit z.b. 10 Punkten mit dem Amplitudenwert 0.

Hier das VI:


8.0 .vi  Test_Graph.vi (Größe: 30,08 KB / Downloads: 394)


Als Erklärung, es wird bevor "das Ziehen" der Punkte im XY Graph möglich ist, die Schrittweite und die Zeitdauer eingegeben. Daraufhin (ist leider noch nicht programmiert) soll an jedem Punkt die Möglichkeit bestehen diesen nach oben oder unten zu ziehen jedoch nicht nach rechts oder links. Somit kann der Nutzer jeden Punkt beliebig hoch verschieben und wenn er die Schrittweite genug klein macht auch einen ziemlich genauen Graphen herstellen.

Ich hoffe es kommen zahlreiche Ideen, Vorschläge, Abänderungen :-).

Ich wünsche allseits einen schönen Abend.

Bis bald.

Gruß LV-Starter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.11.2011, 09:36
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY Graph zeichnen
Hallo Starter,

du hast doch schon einen Cursor im Graph. Werte einfach aus, bei welchem Punkt im Plot sich der Cursor befindet (oder: welcher ihm am nächsten ist) und setze diesen Punkt auf die Y-Koordinate des Cursors. Nicht allzu schwierig...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2011, 18:37
Beitrag #3

LV-Starter123 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Sep 2011

2010
2011
DE


Deutschland
RE: XY Graph zeichnen
Hi GerdW,

mh das Auswerten ist für mich ein Problem, habe jetzt mal bei der Ereignisstruktur oben links eine 1 als Wert hinzugefügt, somit bekomm ich jetzt wenn ich zwei Anzeigeelemente an die X und Y Position lege im Time-Out Ereignis den aktuellen Wert, je nach dem wo ich den Cursor hinziehe auf der X Achse. Wobei in Y Richtung "noch" nichts geht, ist ja noch nichts programmiert :-). Mit welcher Property Node kann ich denn deine Idee verwirklichen oder soll ich über ein Ereignis vom XY Graph gehen?
Weiß grad nicht wohin des Weges und dass du es so leicht findest setzt mich zudem unter Druck :-).
Willst du nicht kurz ein paar goldene Klicks machen um mir mit Hilfe von Programmcode unter die Arme zu greifen? ;-). (Ich will keine fertigen Lösung gepostet bekommen, nur ein paar veranschauliche Programmcodeschnipsel damit ich auf dem richtigen Weg fahre.)

Ist es vll. geschickter wenn ich nicht über den Cursor gehe sonderen diesen enferne und irgendwie die Mausklicks überprüfe ob sie in der Nähe eines gewählten Punktes sind bzw. ist und diesen dorthin verschiebe wo er die Maustaste wieder loslässt?!?

Vielen vielen Dank für die Hilfe und für die bereits gemachten und noch kommenden Vor- und Ratschläge.

Schönen Abend.

Gruß LV-Starter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2011, 18:46 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2011 18:48 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY Graph zeichnen
Hallo Starter,

Zitat:habe jetzt mal bei der Ereignisstruktur oben links eine 1 als Wert hinzugefügt,
Aha. Und was soll mir das sagen? Wo ist der Unterschied, wenn die "1" unten rechts steht?

Quintessenz: VI anhängen...

Ansonsten PAP malen:
- Cursorposition abfragen
- X.Pos des Cursors auf nächste X-Position des Plots runden und damit den Index des aktuell bearbeiteten Punkts finden
- Y.Pos des Cursors als neue Y-Koordinate des Punkts eintragen

Ja, das gleiche geht auch mit Mausklicks. Ist der gleiche Ablauf, nur das der User beim Cursor eine optische "Rückmeldung" hat...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2011, 18:50 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2011 18:53 von LV-Starter123.)
Beitrag #5

LV-Starter123 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Sep 2011

2010
2011
DE


Deutschland
RE: XY Graph zeichnen
sorry, hier das VI:


10.0 .vi  Test_Graph.vi (Größe: 28,66 KB / Downloads: 270)


Es ist fast nichts verändert worden, außer die 1 an der Ereignisstruktur, siehe Screeshot und die beiden Anzeigeelemente.

   
Was meinst du mit PAP malen?

die Abfrage auf die x,y Position erfolgt ja mit Property Nodes vom XY Graph, kann ich den Code einfach die While-Schleife programmieren oder muss ich per Mausklick über die Ereignisstruktur da ran?

Gruß LV Starter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2011, 19:00
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY Graph zeichnen
Hallo Starter,

erstens musst du nicht 1000mal pro Sekunde den Cursor abfragen und zweitens solltest du ihn nicht auf den Plot einrasten - so kann man ja gar keinen neuen Y-Wert vorgeben...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.11.2011, 19:10
Beitrag #7

LV-Starter123 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Sep 2011

2010
2011
DE


Deutschland
RE: XY Graph zeichnen
ich lasse den cursor nun nicht 1000 mal abfragen, jedoch hat sich mein Problem verschlechtert wenn ich den Cursor nicht einraste auf den Graph. Löse ich ihn bzw. leg einen Neuen an der frei ist so geht meine Skalierung verloren wenn ich in Y Richtung mich bewege und ich verliere den Überblick. Ich möchte die Skalierung vor dem Ziehen des Graphen festlegen und dann die Kennlinie die 10sek. auf 0 liegt variabel nach oben oder unten ziehen.

Ich finde das leider nicht so einfach, auch mit deiner schriftlichen Hilfe weiß ich nicht so recht wo ich wann und vorallem wie Mausklicks abfragen soll, über die Ereignisstruktur oder Property Nodes...:-(
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.11.2011, 09:01 (Dieser Beitrag wurde zuletzt bearbeitet: 03.11.2011 09:10 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: XY Graph zeichnen
Hallo Starter,

Mausklicks kannst du nur über die Eventstruktur abfragen...

PAP

Um Cursorpositionen abzufragen, bietet sich aber statt irgendwelcher Mausevents das CursorMove-Event an. Dieses liefert dir auch gleich die Cursor-Position. Nun musst du nur:
- X-Pos des Cursors abfragen
- herausfinden, welcher Punkt in deinem Plot am nächsten liegt (auf der X-Achse)
- dann die Y-Pos des Cursors diesem Punkt zuweisen
- warten auf die nächste Cursorbewegung...

Edit:
Ich habe dein VI mal etwas bearbeitet. Punkte einfügen mittels "Boolean"-Knopf...


Angehängte Datei(en)
10.0 .vi  Test_Graph.vi (Größe: 27,33 KB / Downloads: 320)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.11.2011, 09:17
Beitrag #9

LV-Starter123 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Sep 2011

2010
2011
DE


Deutschland
RE: XY Graph zeichnen
Vielen Dank schon mal, habe es noch nicht angeschaut und komme erst am Wochenende dadazu.

Bis dahin, eine schöne restliche Woche :-)

Gruß LV Starter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2011, 18:47
Beitrag #10

LV-Starter123 Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Sep 2011

2010
2011
DE


Deutschland
RE: XY Graph zeichnen
Guten Abend zusammen,

hier das funktionsfähige VI, welches eine Graphen mit der Maus editieren lässt. Es ist möglich mittels dem Cursor eine genaue Y Position anzufahren oder einfach nur ein Punkt in der Nähe einer gewünschten Position anzuklicken, hierbei wird der nächstpassendste X-Wert gesucht und dann der Graph gezeichnet. Außerdem kann zu jedem Zeitpunkt die Schrittweite verändert werden.


8.0 .vi  Test_Graph.vi (Größe: 39,28 KB / Downloads: 317)


Gerne nehme ich noch Verbesserungsvorschläge an im Hinblick auf Codeverkleinerung bzw. der Qualität des Codes falls es komfortabler funktionieren sollte.

Ich wünsche allen einen angenehmen Wochenstart.

Grüße

LV-Starter123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Rechteck zeichnen Azzuen 2 4.930 03.07.2014 12:40
Letzter Beitrag: Azzuen
  Graph zeichnen stoi 18 15.110 20.06.2013 09:37
Letzter Beitrag: jg
  Diagramm zeichnen blubblub 7 6.239 24.12.2012 14:49
Letzter Beitrag: blubblub
  X-Y Graph, in den Hintergrund zeichnen Hubert R. 11 9.565 20.09.2012 13:50
Letzter Beitrag: Hubert R.
  Signalverlauf händisch im Graph zeichnen? BsaiboT 7 10.166 01.03.2010 08:25
Letzter Beitrag: BsaiboT
  ROI's in Intensityplot zeichnen Labviewtourist 2 4.136 02.06.2008 16:16
Letzter Beitrag: Labviewtourist

Gehe zu: