从Gnuplot中的日期和值绘制日期事件

从Gnuplot中的日期和值绘制日期事件,gnuplot,Gnuplot,我有这种格式的数据: 2011-06-22 22:33:19 23 15 2011-06-23 09:46:13 12 79 2011-06-24 12:31:09 31 4 2011-06-24 17:34:10 7 2 2011-06-25 16:42:43 44 14 2011-06-25 20:26:52 54 9 2011-06-26 19:34:29 217 28 如何使用Gnuplot创建日常活动的柱状图?默认情况下,使用以下设置: set xdata

我有这种格式的数据:

2011-06-22 22:33:19  23  15
2011-06-23 09:46:13  12  79
2011-06-24 12:31:09  31  4
2011-06-24 17:34:10  7   2
2011-06-25 16:42:43  44  14
2011-06-25 20:26:52  54  9
2011-06-26 19:34:29  217 28
如何使用Gnuplot创建日常活动的柱状图?默认情况下,使用以下设置:

set xdata time
set timefmt "%Y-%m-%d %H:%M:%S"
set style data boxes
set grid
plot 'data' using 1:3 t "ins", \
     'data' using 1:4 t 'dels' 
这些箱子将挨着放。但我想在0点离开非七天。就像StackOverflow中的信誉图一样。如果某一天什么都没有,它应该在图表中留下一个空白。如果一天有一个事件,该框应该是一天的最大宽度。如果给定的一天有多个,则它们都应适合该宽度

设置
boxwidth
很棘手,因为任何值似乎都会给我1像素宽的“框”


非常感谢。

如果我理解正确,那么据我所知,你试图做的是gnuplot不可能做到的。或者至少不容易。这就是为什么我认为你会有困难的原因:

不能在单个打印中打印不同的方框宽度。因此,尝试在“非重大事件”的一天中不绘制方框,在一天中只绘制一个包含一个事件的单列,效果会很好。如果在同一绘图中发生多个事件,则在一天内绘制多个列将失败,因为:

  • 不能在同一绘图中设置不同的长方体大小
  • 您需要根据事件的数量在同一天对方框进行偏移
  • 有一些方法可以解决这个问题,例如,将两个相同颜色的方框相邻绘制,在一天内“模拟”一个方框,然后在有两个事件的日子内使用较小的方框宽度。但这很快就会变得毛茸茸的,很难维持。

    也许你想考虑使用不同的情节风格?看一看直方图,比如。也许其中一种样式更适合您的数据。或者你可以考虑把你的情节分成多个情节

    如果不是
    样式,就可以了。如果直方图可以装箱,那我就可以了。想试试……那么
    直方图
    也帮不了我吗让空日空着的想法是很容易看到什么时候暂停的时间更长。你可以利用它为空日留一个空间。对于您的时间格式,您还需要阅读。另一个问题是,一天有多个盒子:我仍然认为你需要找到另一种方法来绘制它。好吧,准确地说,声誉图也不会每天绘制多个盒子。问题会变成:如何在一天内收集并合并多个条目?应该单独问/在这里找到答案。在gnuplot中收集并合并多个条目并不容易。你需要走awk的路。下面是一些你能做的例子。当然,使用awk几乎没有限制。问题是,在gnuplot中使用数据之前,预处理数据可能更容易。