Gnuplot-Vektoren folgen nicht den Plotdaten
Ich habe dies tatsächlich eine Stunde lang gelöst, um herauszufinden, warum dieses Datenplot:
8.000000 -5.409915 8.000000 2.154234
-8.000000 -5.409915 8.000000 -5.409915
-8.000000 2.154234 -8.000000 -5.409915
8.000000 2.154234 -8.000000 2.154234
8.000000 -6.386620 8.000000 1.177529
-8.000000 -6.386620 8.000000 -6.386620
-8.000000 1.177529 -8.000000 -6.386620
-8.000000 -6.386620 -8.000000 1.177529
macht dies:
Dies wurde mit gezeichnet $ gnuplot -e "set term png; plot 'file.dat' using 1:2:3:4 with vectors nohead" > tt.png"
Die erste Spalte der Datendatei gibt an, wo sich das Ende eines Vektors dort befindet, wo x landet, und in der zweiten Spalte, wo y landet. Die dritte und vierte Spalte, x bzw. y, geben an, wo der Kopf eines Vektors landet.
Ich habe den gleichen x-Wert des Schwanzes des Vektors verwendet und ich denke, das hat ihn verursacht. Wenn es wirklich die Ursache ist, muss es ein Fehler sein, aber ich bezweifle, dass es nicht daran liegt, dass in der Mathematik eine Funktion ein X nimmt und es Y zuordnet. Ein einzelnes X kann nicht zwei unterschiedliche Ergebnisse liefern.
Um eine Vorstellung davon zu bekommen, was ich mit diesem Datenplot wollte, muss ein Liniensegment von (x1, y1) bis (x2, y2) erstellt werden, und ein Vektor scheint das zu sein, was ich dafür brauche.
Gnuplot 5.2 Patchlevel 8
Antworten
Der with vectorsPlotstil besteht aus vier Datenspalten:
x y delta-x delta-y
Wenn Ihre Datendatei Endpunktkoordinaten in den Spalten 3 und 4 anstelle von Deltas enthält, können Sie dies mit dem Befehl behandeln
plot $data using 1:2:($3-$1):($4-$2) with vectors
wobei wie üblich "$ 4" eine Abkürzung für "Spalte (4)" ist.