绘制单轴数据?

时间:2013-06-23 15:08:04

标签: plot command-line-interface gnuplot

我有很长的Linux时间戳列表,代表了在一小时内(3600秒)发生事件的第二个时间戳。大多数事件相隔3-4秒,但有些事件间隔一秒钟,有些事件发生在同一秒钟:

1371995100
1371995103
1371995106
1371995106
1371995107
1371995109
1371995111
1371995113
1371995114
1371995118
1371995121

我想将此数据绘制为表示“事件发生”的一系列线条(注意1371995106出现两次):

Plot of Linux timestamps

实际上,由于一分钟的分辨率比必要的更精细,但密度很重要,同时发生的事件可以“延续”到下一个自由秒(所以看起来好像第二个事件发生在1371995106是针对下一个免费秒,1371995108)绘制的:

Plot of Linux timestamps with better density display

这可以使用常用Linux发行版中的CLI工具进行绘制吗?我尝试了plot(gnuplot)但无法找到从一维数据创建图表的示例。

1 个答案:

答案 0 :(得分:1)

您正在尝试制作频率图。假设您的数据位于名为data的文件中,那么

set format x "%.0f"
set boxwidth .9
set style fill solid
plot 'data' using ($1):(1) smooth frequency title 'Frequency' with boxes

format停止使用exponents

输出标签

boxwidth设置框的宽度,以便有间隙。

style设置为填充框

smooth frequencyy设置为1的:(1)值相加,x ($1)是文件{{1}}中的第一个字段。