gnuplot - “自动标题列标题”键和带有“#”的数据文件

问题描述 投票:0回答:1

我需要你关于 gnuplot 的帮助。现在,我使用这个小脚本来绘制下面的数据。

问题是,由于注释字符“#”,gnuplot 无法识别标题行。我不能简单地删除该字符,因为这是每 10 秒就会被覆盖的“实时数据”。

所以,我的问题是:如何使用带有注释掉标题行的自动标题?

谢谢。

#!/usr/bin/gnuplot

set terminal pdf
set output "./postProcessing/residuals/residuals.pdf"
datafile = "./postProcessing/residuals/0/residuals.dat"
set datafile commentschars "%"
set key autotitle columnhead
set log y
set title "Residuals"
set ylabel ''
set xlabel 'Time'
set format y "%g"
set grid
plot for [col=2:7] datafile using 1:col with lines title columnheader

残差.dat

# Residuals   
# Time          p               Ux              Uy          
1               1.000000e+00    1.000000e+00    1.000000e+00
2               1.674960e-02    1.083190e-01    5.252060e-01
3               1.248170e-02    2.371500e-01    5.734970e-01
4               1.045440e-02    2.629550e-01    3.115170e-01
5               1.206470e-02    2.247980e-01    2.269900e-01
6               1.593340e-02    1.416050e-01    5.493240e-01
7               5.426080e-02    3.922100e-02    5.199160e-01
plot gnuplot
1个回答
0
投票

你们非常接近。 set datafile commentschars "%" 是切换到不同注释字符的正确方法。 但是,在您的情况下,文件中的第一行和第二行均以 # 开头。 您希望它跳过第 1 行并使用第 2 行,并且不能再根据主角执行此操作。 因此,您必须明确跳过。 此外,由于第 2 行开头的 # 不再是注释指示符,因此它将被解释为列标题。所以你需要将标题移动一列。 所以你的新命令是

plot for [col=2:7] datafile skip 1 using 1:col with lines title columnheader(col+1)
© www.soinside.com 2019 - 2024. All rights reserved.