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

gnuplot:需要绘制列堆栈和行堆栈的帮助吗,gnuplot,histogram,Gnuplot,Histogram,我有一个数据文件,列出了网络上每台机器的带宽,但有上有下。它看起来像: "" 0 1 2 3 "Machine 1 D" 320 768 1287 1318 "Machine 1 U" 119 245 561 491 其中第一列是数据键,有24列表示数小时的数据。我想生成两个直方图,(A)一个行堆栈,显示每小时所有机器的总带宽,(B)一个列堆栈,显示每台机器每小时的使用情况。因此,在图A中,小时数将显示在x轴上,每台机器的使用量将累积起来。在图B中,机器名称将显示在

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

""  0   1   2   3
"Machine 1 D"   320 768 1287    1318
"Machine 1 U"   119 245 561 491
其中第一列是数据键,有24列表示数小时的数据。我想生成两个直方图,(A)一个行堆栈,显示每小时所有机器的总带宽,(B)一个列堆栈,显示每台机器每小时的使用情况。因此,在图A中,小时数将显示在x轴上,每台机器的使用量将累积起来。在图B中,机器名称将显示在x轴上,并且每小时的使用量将累积起来

另外,为了获得额外的积分,我想将数据绘制两次,交替行(一次用于上传,一次用于下载)。这里的技巧是保留第一行,因为它包含列标题

有人知道怎么做吗?我可以得到一些结果,但似乎无法正确显示键/xtics/titles等

编辑:好的,下面是一个关于columnstack的示例-

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
这会产生如下结果:


例如,如何使用列(1)字段创建一个键?

最后,我发现了很多东西。首先,在gnuplot中使用迭代似乎有点问题——它可以工作,但会限制其他选项。其次,我报告了一个bug,其中“every”语句与使用ColumnHeader不兼容。第三,我不能列/行堆栈并将x轴声明为时间/日期值。这让我基本上把情节写了下来

柱状堆积:

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

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

你为什么不给我们看看你现在有什么。在猜测了50%的选项后,指出错误要比编写脚本容易得多。