Gnuplot: Why is the first line automatically ignored in my datafile
我有一个.csv数据文件,应使用
假设文件具有以下格式:
1 2 3 4 | A;B;C;D;E;F 1;1;2;1;1;1 2;3;3;3;5;6 3;4;1;1;1;4 |
第一列(A列)是x轴,B列至F列各应绘制为自己的线图(是的,我知道,一个图中的太多线图可??能看起来很糟糕,但这只是为了获得一个主意) )。这是MCVE:
1 2 3 4 5 6 7 8 | set terminal png size 1000,500 set datafile separator";" # CSV file is seperated with ; plot \\ 'C://tmp/test.csv' using 1:2 with lines title"B",\\ 'C://tmp/test.csv' using 1:3 with lines title"C",\\ 'C://tmp/test.csv' using 1:4 with lines title"D",\\ 'C://tmp/test.csv' using 1:5 with lines title"E",\\ 'C://tmp/test.csv' using 1:6 with lines title"F" |
我读到要忽略数据文件中的第一行,我必须对其进行注释,以
不过,以上脚本可以正常运行并创建有效的.png,从而自动忽略.csv中的第一行。
我知道"为什么还要打扰一下"?但是我一直想知道发生了什么,所以:为什么会发生这种情况? gnuplot中是否有更改,因此它可以自动检测标题行,并且不再需要在.csv中注释标题行?
不是gnuplot会将第一行识别为标题或标签,只是没有从第一行进行绘制的有效点。您将在哪里绘制点(A,B)?它没有价值。 (2,3)是可以绘制的点,但不能绘制(A,B)。由于这不是有效的点,因此将其忽略。
尝试删除输入文件的所有其他行,以使其仅读取
1 | A;B;C;D;E;F |
这将警告它"正在跳过没有有效点的数据文件"。
注释(以
忽略不可绘制的数据点可能很有用。您可以通过将不需要的值求值为
1 |
仅会绘制x值至少为10的那些点,而忽略所有其他点,因为它们的值为