我有一些数据,我想在3d和2d图中绘制。我有一个具有以下形状的数据文件:
1 1 2
2 1 4
3 1 6
4 1 8
1 2 1
2 2 2
3 2 3
4 2 4
1 3 4
2 3 3
3 3 2
4 3 1
1 4 8
2 4 6
3 4 4
4 4 2
在这种情况下,第一列是x,第二列是y,第三列是值。 实际上我正在使用一个文件,它有100个单独的矩阵,但我认为这个例子应该有点方便。 :)
我使用以下方法制作了一个3d图: splot" data.txt"使用1:2:3的行
此外,我现在想在两个方向上制作2D图。像
这样的东西plot "data.txt" using 1:3
仅使用第一个矩阵
和
plot "data.txt" using only the first line of 2:3 in every matrix
我在1的部分&#34中找到了帮助;如何在文件中绘制部分数据?"
对于第一种情况
plot "data.txt" every :::1:1 using 1:3 with lines
似乎做了这项工作
但对于第二种情况,我不确定,如何以正确的方式管理语法
plot "data.txt" every ::1 using 1:3 with lines
不会做我的预期。该图实际上是空的或只包含一个数据文件。
答案 0 :(得分:0)
键入help every
可为您提供有关如何执行此操作的指南。但我同意every
选项使用起来有点尴尬。这应该这样做:
plot "data.txt" every ::0::0 using 1:3 with lines
这意味着“将每个块的元素绘制为零到零”。元素零是gnuplot中的第一个元素。
为了能够按行连接点,您需要使用外部工具,例如awk
:
plot "<awk -v p=0 'n==p; NF{n++} !NF{n=0}' data.txt" u 1:3 w l
其中p=0
与every ::0::0
具有相同的效果。已经给出了此解决方案here。