1

假设我有要分成不同条形的数据,但其中一个被细分,如中。例如:

A1 : 4
B1 : 1 2

A2 : 3
B2 : 2 3

然后我想要(仅)堆叠 B 条。对于图表上方的数据,应如下所示:

          y
o         y
o y     o y
o y     o x
o x     o x
A B     A B

我怎样才能做到这一点?我可以更改输入文件的格式(或者甚至在必要时使用多个文件),但我真的很想得到带有条形簇的最终图形,其中每个簇的一些条形是堆叠的,其他的则不是。

4

1 回答 1

1

这是实现这一目标的一种可能性。为此,您需要A*将数据文件中的值组合在一起,然后是两个新行,然后是所有B*值:

A1 4
A2 3


B1 1 2
B2 2 3

用两个新行分隔数据集允许您使用index语句访问它们。(使用两个文件也可以)

然后绘制第一个直方图。这隐含地使用0,1等作为 x 值,但给它们标签A1, A2。对于B*您创建新直方图的值newhistogram,并将其第一个 x 值设置at0加一boxwidth

set style data histogram
set style histogram rowstacked
box_wd = 0.3
set boxwidth box_wd
set style fill solid
unset key

plot 'file.txt' using 2:xtic(1) index 0, \
     newhistogram at box_wd, \
     'file.txt' using 2:xtic(1) index 1,\
     '' using 3 index 1

使用 4.6.4,您将获得:

在此处输入图像描述

唯一的可能是,两个直方图的键由新行分隔。

于 2013-11-21T22:29:48.430 回答