Hallo Community, ich bin neu hier und das aus dem unschönen Grund, weil ich ein Problem habe. Vielleicht könnt Ihr mir da ja helfen. Ih habe ein Programm geschrieben, dass mir Daten in Dateien schreibt und mir diese dann in GnuPlot anzeigt. Das funktioniert eigentlich auch ganz gut nur habe ich noch ein Problem: Ich würde gerne Vektoren in Gnuplot zeichnen weiß aber nicht wie diese mit welcher Syntax in die Files geschrieben werden müssen. Was ich bei den Koordiantenpunkte mache ist, dass ich die Daten einfach in eine Datei schreibe mit x und y Koordinaten und diese dann an GnuPlot übergebe. Genau so würde ich es auch gerne mit den Vektoren machen nur finde ich die Syntax dazu nicht. mit set arrow 3 from 0,-5 to 0,5 soll man einen Pfeil malen können, allerdings will das bei mir nicht so recht funktionieren. Momentan stehe ich etwas neben mir und bekomme es einfach nicht, weil es wahrscheinlich wieder eine Kleinigkeit ist. Wäre für Tipps oder Vorschläge dankbar. Mit freundlichen Grüßen Tido
"set arrow" funktioniert nur wenn Du schon ein Plot hast: "gnuplot> plot sin(x) gnuplot> set arrow 3 from 0,-1 to 2,0.5 gnuplot> replot" Was Du suchst ist sicher so eine Darstellung: http://www.columbia.edu/~sl2403/gnuplot/intro/style9.png "Draw vectors. An arrow is plotted from (X,Y) to (X+dX,Y+dY). So that you need 4 columns data in your data file." Also: Wenn Du eine Datei test.dat mit dem Inhalt 0 0 1 1 0 0 -1 1 hast wird Dir
1 | plot "test.dat" with vector |
die Vektoren plotten. PS: Wenn Du mit LaTeX arbeitest oder überhaupt Formeln oder griechische Symbole verwendest kann ich Dir pyxplot empfehlen. http://www.pyxplot.org.uk/gallery.shtml Willst Du die Daten mit einem C/C++-artigen Programm generieren schau Dir auch mal Asymptote an! http://asymptote.sourceforge.net/gallery/
Richtig erkennt und gleich die Lösungen geliefert. Ich habe das gerade einmal durchgetestet und es funktioniert wirklich sehr gut. Hatte mich zuerst über die etwas mekrwürdige Darstellung der Vektoren gewundert dann aber doch gesehen, dass auch hier die dritte und vierte Koordinaten nicht das Ende des Vektors beschreiben sondern den gemalten Vektor an sich. Stand ja auch in deinem Post nur halt noch nicht in meinem Programm. Für die angegebenen Links bin ich ebenfalls sehr dankbar. Ich werde diese leider wegen des zeitlichen Mangels dieses Mal nicht mehr verwenden können, jedoch ist das mit Sicherheit etwas für die nächsten Programme und die lassen nie lange auf sich warten, denn man braucht immer kleine Helferlein. Latex ist für mich im nächsten Semester ein Thema, da ich dann in meinem Praxissemester bin und mich dann damit auseinandersetzen wollte. Vorrangig erst einmal um meinen Praxissemesterbericht zu erstellen und dann um mal zu schauen, welches Potenzial noch dahinter steckt. Vielen Dank. Das hat mir wirklich weitergeholfen. mit freundlichen Grüßen Tido Groothoff
Hallo ich hätte da noch einmal eine Frage, weil mir auch nicht klar ist ob das überhaupt mit GnuPlot machbar ist. Meine verwendeten Koordinatendateien enthalten Daten folgender Form: 1 3 1 6 4 5 3 3 7 3 ist es hier möglich, wenn ich an jede Zeile eine weiter Zahl anhänge, dass diese als Beschriftung für die geplotteten Datenpunkte verwendet werden kann. 1 3 1 1 6 2 4 5 3 3 3 4 7 3 5 Derzeit verwende ich für den Aufruf: plot "c:/koordinatendatei.dat" with points lt -1 lw 12 Mit freundlichen Grüßen Tido
So geht's:
1 | plot "koordinatendatei.dat" with points lt -1, "" with labels offset 0,1 |
Nach labels dürfen neben offset weitere Optionen stehen, die im Manual unter set label zu finden sind: http://www.gnuplot.info/docs/node193.html Stehen die Labels nicht in der dritten Spalte der Datei, oder sollen sie vor der Ausgabe umgeformt werden, kann dazu die /using/-Option verwendet werden.
Sehr gut auch das hat funktioniert. Muss leider gestehen, dass die Hilfe aus dem GnuPot für mich nicht immer eindeutig ist, jedoch klappt es nach mehrerem Probieren meistens doch. Vielen Dank für die ausfühliche Hilfe. Mit freundlichen Grüßen Tido Groothoff
Moin Moin, ich habe auch eine Frage zu der Darstellung von Vektoren in GnuPlot und wär euch dankbar wenn ihr mir helfen könntet. Ich habe die Aufgabe eine gewisse Anzahl von Punkten mit ihren Fehlervektoren darzustellen. Das Problem hierbei ist, dass die Vektoren sehr klein sind und eigentlich mit einem Skalar multipliziert werden müssten um sie überhaupt sehen zu können. In meiner Koordinaten Datei sind sie allerdings unskaliert gespeichert. Meine Frage ist also ob es möglich ist, beim Einlesen der Werte auch noch einen Faktor zum Skalieren zu übergeben. Schonmal vielen Dank im Vorraus!
>gewisse Anzahl von Punkten mit ihren Fehlervektoren darzustellen.
Ich kenne eher den Ausdruck Fehlerbalken -- wenn das gemeint ist:
Du kannst die Daten skalieren. Die Daten
stefan@AMD64-X2 ~ $ cat data.txt
0 0 0.1 -0.3
1 1 0.1 -0.3
2 4 0.1 -0.3
3 9 0.1 -0.3
4 16 0.1 -0.3
5 25 0.1 -0.3
6 36 0.1 -0.3
7 49 0.1 -0.3
8 64 0.1 -0.3
9 81 0.1 -0.3
10 100 0.1 -0.3
könnte man plotten mit
gnuplot> plot "data.txt" using 1:2:($2+10*$3):($2+10*$4) with errorbars
($3) ist der Fehlerwert von Spalte 3, ($3*10+2) das zehnfache plus 2.
Näheres siehe Dokumentation oder Gnuplot Mailingliste.
Möglicherweise möchte Ole ein Vektorfeld zeichnen lassen. Aber auch das ist kein Problem, da auch dort mit der using-Option die dargestellten Werte nach Belieben aus den Werten aus der Datei errechnet werden können.
Ich habe in einem anderen Forum noch eine gute Lösung für mein Problem gefunden: gnuplot> faktor = 5 gnuplot> plot "file.dat" using 1:2:($3*faktor):($4*faktor) with vector Mit diesem Befehl kann also die Länge der Vektoren verändert werden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.