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

时间:2011-07-03 13:49:44

标签: 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 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个像素宽的“框”。

非常感谢。

1 个答案:

答案 0 :(得分:2)

如果我理解正确的话,那么你要做的就是我不知道gnuplot的知识。或者至少不是一个简单的方法。这就是我认为你会遇到困难的原因:

您无法在单个绘图中绘制不同的框宽度。所以试图在一个“非多事”的日子里没有盒子,并且在一天的单个栏目中只有一个事件可以正常工作。在同一个绘图中发生多个事件的一天绘制多个列将失败,因为:

  1. 您无法在同一图表中设置不同的框尺寸
  2. 您需要根据事件数量在同一天抵消框
  3. 有很多方法可以解决这个问题,例如将两个相同颜色的盒子彼此相邻,以便在一天内“模拟”一个盒子,然后在两个事件的日子里使用较小的盒子宽度。但这很快就会变得很毛茸茸,难以维持 也许你想考虑使用不同的情节风格?看一下像here这样的直方图。也许其中一种风格更适合您的数据。或者你可以考虑将你的情节分成多个情节?