gnuplot:需要帮助绘制列和行堆栈

时间:2011-11-14 17:22:02

标签: gnuplot histogram

我有一个数据文件列出网络上每台机器的带宽,但是向下和向上。它看起来像:

""  0   1   2   3
"Machine 1 D"   320 768 1287    1318
"Machine 1 U"   119 245 561 491

第一列是数据键,而24列表示数据小时数。我想生成两个直方图,(A)一个rowstack,显示每小时所有机器的总带宽,以及(B)一个显示每台机器每小时使用量的列堆栈。因此,在图表A中,小时数将出现在x轴上,并且每台机器的使用量将累积累计。在图表B中,机器名称将出现在x轴上,并且每小时的使用量将累积累计。

而且,为了额外的功劳,我想将数据绘制两次,交替行(一次上传,一次下来)。这里的技巧是保留第一行,因为它包含列标题。

有谁知道怎么做?我可以得到一些结果,但似乎无法正确显示关键/ xtics /标题等。

编辑:好的,所以这里有一个我对列堆栈的例子 -

reset
set style fill solid noborder
file = '..\test\example.dat'
col = 24
set style data histogram
set style histogram columnstacked
plot \
    for [i=2:col+1] \
    file \
        u i title columnhead

其中包含以下内容:

sample graph

因此,例如,如何使用列(1)字段创建密钥?

1 个答案:

答案 0 :(得分:0)

最后,我发现了很多东西。首先,在gnuplot中使用迭代似乎相当错误 - 它可以工作,但限制其他选项。其次,我报告了一个错误,其中“every”语句与使用列标题不兼容。第三,我不能列/ rowstack并将x轴声明为时间/日期值。这让我基本上把这个情节写得很长。

columnstacked:

set xtics ("midnight" 0, "1a" 1, ...)
plot file u 3:key(1) notitle, '' u 4, ...

rowstacked:

plot file u 3:xtic(1) t "midnight", u 4 t "1a", ...