gnuplot:跳过缺少的列

时间:2012-03-09 10:59:57

标签: plot gnuplot

我绘制的内容类似于(gnuplot 4.6rc1):

plot "data1.csv" using "time":"value_a", \
     "data2.csv" using "time":"value_b", \
     "data3.csv" using "time":"value_c"

有csv文件,如:

time, value_a, value_c
0, 1, 2
4, 5, 6

如果缺少一列(例如value_b),则不会生成错误could not find column with header "value_b"的整个图。

有没有办法只是跳过绘制这个专栏,而不是跳过整个情节?

1 个答案:

答案 0 :(得分:0)

您可以使用以下数据文件:

time, value_a, value_c, value_b
0, 1, 2
4, 5, 6

请注意,value_b列有标题,但不需要任何数据点。 GNUplot会找到该列并感到高兴,但由于没有数据,因此不会绘制。由于每个输出文件只生成一次标题,因此希望添加所有列名称非常容易。

我不知道一个允许您完全省略该列的解决方案。但是......绘制数据的另一种方法是:

plot   "data1.csv" using "time":"value_a"
replot "data2.csv" using "time":"value_b"
replot "data3.csv" using "time":"value_c"

因此,如果您可以跟踪要打印的列,那么您可以用这种方式构建打印文件。

而且,如果这是不可能的,那么现在你的问题就减少了,如果出现错误,让GNUplot继续下一行。可悲的是,我不确定如何做到这一点。