gnuplot 5.2.5 / centos7
基本上,我已经配置了一个我喜欢的绘图,但是现在我想在数据丢失时在行中引入一个“截止”。如果我只有2列,那么我环顾了很多,有简单的解决方案。但是,我有很多列。因此,我正在使用循环,不能只做($2)
。
我找到了一种解决方案,可以在循环中没有数据但行不通的情况下剪线:
警告:空x范围[2018:2018],调整为[1997.82:2038.18]
导致上述情况的配置:
set datafile separator ","
set xdata time
set timefmt "%Y-%m-%d.%H:%M:%S"
set datafile missing
set ylabel "% CPU"
set xlabel "Time Point"
set grid
set xtics rotate
set key autotitle columnheader
set terminal pngcairo
set output 'graph.png'
plot for [i=2:5] "data.csv" using ($1):(column(i)) with linespoints
这是我的数据(请注意第二行第二列的缺失值):
col1,col2,col3,col4
2018-11-21.04:23:03,1,2,2,5
2018-11-21.04:24:03,,4,4,6
2018-11-21.04:25:03,3,6,8,7
2018-11-21.04:26:03,4,8,16,8
我的绘图命令应该是什么样的?
更新:我尝试通过以下方法解决此问题:
plot "data.csv" using 1:($2) with linespoints,
plot "data.csv" using 1:($3) with linespoints,
但是它只是绘制第一行...这种解决方法对我来说是可行的,但我不知道如何添加更多行?同样,我不能使用for [i = 2:5]技巧,因为那会破坏我的x范围。