0

我有一个使用 gnuplot 绘制的点 (x, y) 文件。如果我有另一个文件显示哪个点与哪个其他点通过边缘链接(例如(3.8, 6)链接到(4,7)),是否可以在点之间可视化/绘制这些边缘?

4

2 回答 2

3

根据您的数据的组织方式,您可能需要研究 plotting with vectors。例如,如果您的数据文件如下所示:

#x1 y1 x2 y2
 1  1  3   3

您可以使用以下方法绘制此图:

set style arrow 1 nohead
plot "my_arrows.dat" using 1:2:($3-$1):($4-$2) with vectors arrowstyle 1

编辑

假设数据文件中的所有点都重复,您可以执行以下操作:

set style arrow 1 nohead
plot "my_arrows.dat" using 1:2:($3-$1):($4-$2) with vectors arrowstyle 1,\
     "my_arrows.dat" using 1:2 w points

如果它们没有重复,您可以执行以下操作:

set style arrow 1 nohead
plot "my_arrows.dat" using 1:2:($3-$1):($4-$2) with vectors arrowstyle 1,\
     "my_arrows.dat" using 1:2 w points ls 1 lc rgb "red" pt 1,\
     "my_arrows.dat" using 3:4 w points ls 1 lc rgb "red" pt 1

请注意,您可以使用线条样式(linecolorlcpointtypeptlinewidthlw等,以使点看起来相同。)

于 2012-06-19T17:52:55.750 回答
2

如果不使用单独的实用程序生成绘图脚本,您可能无法读取线位置,但是从点到点绘制线的命令是

set arrow [X] from first x1,y1 to first x2,y2 nohead

其中 X 是箭头的可选标记号, (x1,y1) 和 (x2,y2) 是图形坐标系中的点。

于 2012-06-19T16:38:08.077 回答