我不熟悉gnuplot,所以我真的很难处理它。我知道如何绘制为3D并使用列作为变量。
无论如何,我的问题是如何连接具有相同距离值的点,但按照等级顺序连接它们。例如,我的文件包含以下信息;
#ID Rank Diatance x y z
25 2 50 13 14 39
34 1 50 19 90 23
23 3 50 54 87 12
48 1 143 78 40 36
38 5 143 10 76 54
96 4 143 64 76 88
104 3 143 19 82 74
201 2 143 30 89 47
76 1 604 103 298 263
97 2 604 111 103 133
87 4 604 215 222 132
109 5 604 175 184 158
283 3 604 102 108 155
294 6 604 530 456 384
你看到有3种不同的距离,每组3个组都有自己的等级。我想要做的是连接那些只有相同距离值的点(第3列),但同时我想按顺序(第2列)连接那些,所以我认为预期的结果是在3D绘图中,只有3行(或曲线)。
请帮帮我!
答案 0 :(得分:0)
您必须先按距离排序数据文件,然后按排名排序,并在距离值更改时插入空白行。我不确定您是否可以在gnuplot中完成所有这些操作,但在unix-ish系统上,您可以轻松调用标准工具为您执行此操作:
splot "<cat test.dat | sort -n -k 3 -k 2 | awk '{if ($3 != olddistance) {print \"\"}; print; olddistance=$3}'" u 4:5:6 w lp
如果您想要连接每个组的行使用不同的颜色,可以使用
splot "<cat test.dat | sort -n -k 3 -k 2 | awk '{if ($3 != olddistance) {print \"\"}; print; olddistance=$3}'" u 4:5:6:-1 w lp lc variable