Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gnuplot:如何跳过矩阵输入中的列进行绘图?_Plot_Gnuplot - Fatal编程技术网

Gnuplot:如何跳过矩阵输入中的列进行绘图?

Gnuplot:如何跳过矩阵输入中的列进行绘图?,plot,gnuplot,Plot,Gnuplot,我有以下表格的数据文件: unimportant1 unimportant2 unimportant3 matrixdata[i] 1e4 2e5 3e2 1 2 3 4 5 2e3 1e1 7e3 5 4 3 2 1 ... ... ...

我有以下表格的数据文件:

unimportant1 unimportant2 unimportant3 matrixdata[i] 1e4 2e5 3e2 1 2 3 4 5 2e3 1e1 7e3 5 4 3 2 1 ... ... ... ... 2e3 1e4 4e2 4 4 4 4 4 如何让gnuplot忽略前三列和标题行,并将其余部分打印为矩阵图像?为了兼容性,我更希望使用内置的gnuplot来实现这一点,但我可以编写一个shell脚本,并使用“plot”<…”语法预处理数据文件

编辑:差不多解决了。我唯一缺少的是,如何忽略包含文本标题数据的第一行。每个人似乎都期待数字数据,因此整个绘图失败,因为它不是一个矩阵。我不想注释掉第一行,因为我正在为其他2D绘图使用不重要的数据集,这些绘图反过来又使用标题数据


那么,如何在已经使用each跳过列的矩阵图中跳过一行呢?

我不熟悉矩阵图,但我得到了一些样本数据和数据

每隔::3用图像绘制“matrix.dat”矩阵

似乎做到了这一点。

在使用矩阵时,gnuplot必须首先解析数据文件,然后才能跳过行和列。现在,第一行计算为4个无效数字,第二行有8个数字,我得到一个错误,矩阵不代表网格

如果您不想注释掉第一行或使用外部工具(如
unimportant1      unimportant2    unimportant3     matrixdata[i] B C D E
1e4               2e5             3e2              1 2 3 4 5
2e3               1e1             7e3              5 4 3 2 1
...               ...             ...              ...
2e3               1e4             4e2              4 4 4 4 4
现在,第一行的条目数与其他行的条目数相同,您可以使用

plot 'test.txt' matrix every ::3:1 with image

这仍然会给您一个警告:矩阵包含缺少的或未定义的值,但您不必在意。

您可能会使用shell命令,例如,以下跳过文件的前六行:

plot '<tail -n +7 terrain0.dem' matrix with image

这适用于常规绘图,但不适用于矩阵数据。对不起,我可能弄错了,但如果仔细阅读,使用1:3绘制“a.dat”只会绘制x坐标和z值的二维曲线。不是所有矩阵项的像素图。每行中的开始和结束只引用行,而不引用列。这似乎适用于跳过列。我想类似的东西会跳过第一排。非常感谢。然后我得到警告:矩阵包含缺失或未定义的值。矩阵不表示网格。您是否像我的示例数据表中一样,在第一行使用文本数据测试::3:1?是的。我收到了同样的警告,但图像看起来还可以。不幸的是,这不是一个解决方案,而是一个可能的解决方案的outlook:Gnuplot 5.0有一个跳过选项,不幸的是,它只能在没有矩阵:plot“data.dat”skip 1和行的情况下工作。但是我会认为这是一个bug,对于我来说,每一个情节都是矩阵“dAT”矩阵:3跳过1,图像应该工作…一个非常丑陋和脆弱的黑客将使用set数据文件commentschar'u';用图像绘制“matrix.dat”matrix every::3。用a注释第一行将使事情变得非常简单。
plot '<tail -n +7 terrain0.dem' matrix with image