Gnuplot不画线

时间:2016-04-09 11:50:29

标签: gnuplot

我需要绘制具有简单表结构的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" 

并且空图但如果我使用点它可以工作但仍然给出相同的警告

我如何用线条绘制情节?

提前致谢。

1 个答案:

答案 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会遇到同样的问题,在这种情况下需要进一步填充。