Gnuplot 如何绘制缺少数据线的图形?
我及时记录了数据。但是一些数据行丢失,gnuplot在这些间隔中用长行替换它们 如何将gnuplot设置为不绘制任何内容,而不是在这些间隔中绘制线 另外,我在这些细胞系中没有游离细胞,我根本没有这些细胞系 线路:Gnuplot 如何绘制缺少数据线的图形?,gnuplot,lines,Gnuplot,Lines,我及时记录了数据。但是一些数据行丢失,gnuplot在这些间隔中用长行替换它们 如何将gnuplot设置为不绘制任何内容,而不是在这些间隔中绘制线 另外,我在这些细胞系中没有游离细胞,我根本没有这些细胞系 线路: column 1 ... col 195 13:30:20.8 0.78061899 13:30:21.8 5.969546498 13:32:19.8 17.21257881 13:32:20.8 6.922475345 如果不想在两点之间画一条线,则必须在数
column 1 ... col 195
13:30:20.8 0.78061899
13:30:21.8 5.969546498
13:32:19.8 17.21257881
13:32:20.8 6.922475345
如果不想在两点之间画一条线,则必须在数据文件中的两点条目之间插入一条空行,以便有效地
13:30:20.8 0.78061899
13:30:21.8 5.969546498
13:32:19.8 17.21257881
13:32:20.8 6.922475345
这不能直接用gnuplot来完成,但您可以使用例如awk
来进行动态处理:
set timefmt '%H:%M:%S'
set xdata time
filename = 'data.txt'
plot 'awk ''{split($1,d,":"); t_prev = t; t = (d[1] * 60 + d[2])*60 + d[3]; if (t_prev && (t - t_prev > 10)) print ""; print }'' '.filename with lines
这里,间隔阈值是10秒。我假设您的未命中数据标识符是“NaN”,那么您可以使用以下命令
plot "data" using 1:($2) with linespoints
而不是
plot "data" using 1:2 with linespoints
前者将忽略缺失的数据,并将其视为空行,因此不会在间隙上绘制连接线,而后者将绘制连续的、不间断的线。否,这与“NaN”无关。一些数据点之间有很大的时间间隔。这对我来说很有效。与其他答案(插入一个空行)相比,这种方法的优点是,当只缺少一些值时,可以使用这种方法。如果没有值,那么插入一个空行没有错,但是这个答案也没有错,不值得否决。