我有一个带有3d坐标和标准化矢量的文件。我需要在这些给定的点上绘制这些向量。我知道我可以使用向量代数来找到"到#34;指向用"从"绘制箭头。点列为坐标。但有没有任何捷径可以直接在gnuplot中使用向量而不是箭头?
示例数据:
x y z Vx Vy Vz4.96107 4.6534 3.49518 -0.6864 0.0575 -0.7249
2.95447 4.54705 5.19762 -0.8473 0.5311 0
2.95447 4.54705 1.18888 -0.974 -0.2265 0
答案 0 :(得分:1)
gnuplot中的矢量样式需要格式为
的数据x y x_delta y_delta
为2d图。矢量将从(x,y)绘制到(x +Δ x ,y +Δ y )。
同样,对于3d绘图,您可以使用
形式的数据x y z x_delta y_delta z_delta
其中向量从(x,y,z)到(x +Δ x ,y +Δ y ,z +Δ z 子>)。在这种情况下,您的数据正好是第二种情况。您可以splot "file" with vectors
绘制数据(对于2d数据使用plot
,对于3d数据使用splot
)。这会产生 †
我们甚至可以自定义箭头。例如splot "file" with vectors filled
生成填充箭头。
splot "file" with vectors nohead
完全删除了箭头。
可以非常精细地控制箭头。有关详细信息,请参阅help vectors
和help arrowstyle
。
† 因为您的文件在第一行有列标签,所以我发出了set key autotitle columnhead
来通知gnuplot,并告诉它不要绘制第一行线。如果没有这个,您将收到一条错误消息
warning: Bad data on line 1 of file data.txt
(我已将数据保存在文件 data.txt 中)。我还发布了unset key
以防止在这些图表中绘制密钥。