Gnuplot:如何默认为';0';当日期序列中缺少数据时

Gnuplot:如何默认为';0';当日期序列中缺少数据时,gnuplot,missing-data,Gnuplot,Missing Data,我有一堆基本上是日期+时间的数据,我想用gnuplot绘制一个数字。问题是,数据是从数据库中提取的,因此当一天中有零活动时,就不会创建行,因此我要馈送给gnuplot的“csv”文件在序列中有间隙 绘图配置: set term jpeg medium size 800,600 set output "yesterday.jpg" set datafile separator ":" set title "Yesterday's Uploads" set xlabel "Hour of day (

我有一堆基本上是日期+时间的数据,我想用gnuplot绘制一个数字。问题是,数据是从数据库中提取的,因此当一天中有零活动时,就不会创建行,因此我要馈送给gnuplot的“csv”文件在序列中有间隙

绘图配置:

set term jpeg medium size 800,600
set output "yesterday.jpg"
set datafile separator ":"
set title "Yesterday's Uploads"
set xlabel "Hour of day (Eastern)" offset 0,-2
set ylabel "Items per minute"
unset key
set bmargin 10
set xdata time
set timefmt "%m/%d/%Y-%H-%M"
set xtics rotate
set style fill solid 0.5
plot "yesterday.stats" u 1:2 w boxes
示例数据:

08/27/2013-23-00:34
08/27/2013-22-59:20
08/27/2013-22-58:79
08/27/2013-22-53:6
08/27/2013-22-52:24
08/27/2013-22-51:15
08/27/2013-22-50:12
08/27/2013-22-42:1
08/27/2013-22-38:58
08/27/2013-22-37:36
请注意缺少的分钟数(例如从38到42,从42到50),其中没有活动,因此没有DB条目,因此在我的绘图输入文件中没有信息

当我尝试使用上面的配置示例绘制此图时,“间隙”显示为一个水平填充条,它是缺失数据的宽度

我希望丢失的数据只是一个“零”,图上没有显示任何活动。我在想,在gnuplot中必须有一种方法来处理这个问题,在我编写一些脚本将虚拟条目插入到数据中之前,我想和大家核实一下


有什么建议吗?除了不“连接”数据点的框之外,可能还有另一种类型的绘图,从而导致这些奇怪的水平区域?

您可以使用
通过第三个参数指定框的宽度:

plot "yesterday.stats" u 1:2:(50) w boxes

我使用这个小脚本显式地将零添加到我的(数字时间戳)数据中:

gnuplot可以执行命令,而不是读取
plot "< fill-in 60 0 yesterday.stats"
plot“<填写60 0昨天的统计数据”

(设置框宽适用于“带框”,但添加零允许您使用任何样式。)

这是的精确副本。您可以更具体地说,对于哪种样式,您需要明确填写数据文件以进行正确打印?我不知道这是否值得一问。