date daily weekly monthly
1 11 88
2 12
3 45 44
4 54
5 45
6 45 66
7 77
8 78
9 71 99 88
对于每周列中的空数据点,该图绘制了每月列中的值。 每月柱图和每日柱图是完美的。 建议的不仅仅是设置数据文件缺失' '并设置数据文件分隔符" \ t"
答案 0 :(得分:4)
唉,Gnuplot不支持基于字段的数据文件,目前唯一的解决方案是预处理文件。 awk
非常适合该任务(请注意,如果文件包含您需要调整的硬标签FIELDWIDTHS
):
awk '$3 ~ /^ *$/ { $3 = "?" } $4 ~ /^ *$/ { $4 = "?" } 1' FIELDWIDTHS='6 7 8 7' infile > outfile
这会将第3列和第4列中的空字段(/^ *$/
)替换为问号,这意味着未定义到Gnuplot。 awk脚本末尾的1
调用默认规则:{ print $0 }
。
如果你将awk的输出发送到outfile
,你可以举例说明这样的文件:
set key autotitle columnhead out
set style data linespoint
plot 'outfile' using 1:2, '' using 1:3, '' using 1:4
答案 1 :(得分:1)
如果有人碰到这个,我建议至少更新到4.6.5 Gnuplot版本。
这是因为从Gnuplot 4.6.4更新: * CHANGE将csv文件中的空字段视为"缺少"而不是"坏"
4.6.5中似乎有一个(相关的?)错误修正: *选项卡分隔值文件中的FIX空第一个字段被错误地忽略