在gnuplot中,将从给定点到文件中所有点绘制线条

3

我希望使用 gnuplot 从原点 (0,0) 画出所有坐标在数据文件中的点之间的连线。例如,如果文件包含以下数据:

1,1
1,2

我希望从(0,0)到(1,1)(0,0)到(1,2)画一条直线。由于有很多点,我无法为文件中的每个点手动执行此操作。如何完成此操作?

2个回答

2

实现这个的一种简单方法是使用向量绘图,但将所有点的原点设置为(0,0),然后删除向量头:

plot "datafile" using (0):(0):1:2 with vectors

这将导致:

enter image description here

更多信息在这里。顺便说一下,如果您的输入文件与您发布的文件完全相同:
1,1
1,2

在绘图之前,您需要添加set datafile separator ','。希望这能帮到您!


0
一种可能的方法是使用plot for循环遍历块索引。如果在文件中的坐标之间插入两个空白行,则它们被视为不同的块,因此您可以编写:
plot for [j=0:N] 'data.dat' index j u 1:2 with lines

N是点的数量。然而,这种方法需要在每个块中添加原点的点,即以以下形式:

#your data file
0 0
1 1


0 0
1 2

我不知道你有多少个点或者你是否需要在许多文件上执行此操作。如果只有几个点,你可以手动修改文件,否则我建议准备一个脚本(例如使用sed或其他方式的bash脚本...)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接