我需要绘制具有简单表结构的CSV文件:第一列 - %H中的时间:%M:%S格式,下一列标题和特定时间的某些值。 这里的例子:
,A,B,C,D,E,F, ...
09:00:00,10,56,13,146,15
09:00:01,20,,,81
09:00:02,30,54,82
09:00:03,,,32
09:00:04,50,,105
09:00:05,,8
...
我使用的命令
set xdata time
set timefmt "%H:%M:%S"
set format x "%H:%M:%S"
set datafile separator ","
plot for[col=2:5] file.csv using 1:col with lines title columnheader
一切都很好,就像我需要的那样。但是,如果我想绘制某些列,如
plot file.csv using 1:"A" with lines title columnheader, \
file.csv using 1:"D" with lines title columnheader
Gnuplot打印
warning: no column with header "A"
warning: no column with header "D"
并且空图但如果我使用点它可以工作但仍然给出相同的警告
我如何用线条绘制情节?
提前致谢。
答案 0 :(得分:0)
您的一些行没有列D,这会导致gnuplot在尝试从其中一行读取该列时抛出此警告。填充数据行,使它们具有所有列(或至少是您正在使用的列),此警告将消失。另外,在plot命令中引用文件名。
,A,B,C,D,E,F, ...
09:00:00,10,56,13,146,15
09:00:01,20,,,81
09:00:02,30,54,82, # only went up to C before
09:00:03,,,32, # only went up to C before
09:00:04,50,,105, # only went up to C before
09:00:05,,8,, # only went up to B before
在使用此文件之前删除注释,但为了说明目的,我已将问题的行注释掉了。请注意,我已经为这些行添加了逗号,因此它们至少包含A-D列。例如,绘制列F会遇到同样的问题,在这种情况下需要进一步填充。