假设我有数据要分隔成不同的栏,但其中一个被细分,例如:。例如:
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
我该怎么做?我可以更改输入文件的格式(如果需要,甚至可以使用多个文件),但我真的希望最终的图形带有条形集群,其中每个集群的一些条形图堆叠在一起,其他条形图则没有。
答案 0 :(得分:1)
以下是您实现这一目标的可能性。为此,您需要将A*
值组合在数据文件中,然后是两个新行,然后是所有B*
值:
A1 4
A2 3
B1 1 2
B2 2 3
使用两个新行分隔数据集允许您使用index
语句访问它们。 (使用两个文件也可以)
然后绘制第一个直方图。这隐含地使用0
,1
等作为x值,但为其提供标签A1
,A2
。对于B*
值,您可以使用newhistogram
创建新的直方图,并将其第一个x值设置为at
到0
加一个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你得到:
唯一可能的是,两个直方图的关键字用新线分隔。