Gnuplot:如何制作一个只有一些条堆叠的柱状图,其他条则没有?
假设我有数据,我想分成不同的条,但其中一条被细分,如中所示。例如:Gnuplot:如何制作一个只有一些条堆叠的柱状图,其他条则没有?,gnuplot,histogram,stackedbarseries,stacked-chart,Gnuplot,Histogram,Stackedbarseries,Stacked Chart,假设我有数据,我想分成不同的条,但其中一条被细分,如中所示。例如: 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 我该怎么做?我可以更改输入文件的格式(如果需要,甚至可以使用多个文件),但我真的希望有一个带有条簇的最终图形,其中每个簇的一些条是堆叠的,其他的不是。这里有
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
我该怎么做?我可以更改输入文件的格式(如果需要,甚至可以使用多个文件),但我真的希望有一个带有条簇的最终图形,其中每个簇的一些条是堆叠的,其他的不是。这里有一种可能的方法可以实现这一点。为此,您需要在数据文件中将
A*
值分组在一起,后面是两行新行,然后是所有B*
值:
A1 4
A2 3
B1 1 2
B2 2 3
用两行新行分隔数据集允许您使用index
语句访问它们。(使用两个文件也可以)
然后绘制第一个直方图。这隐式地使用0
,1
等作为x值,但给它们标签A1
,A2
。对于B*
值,您使用newhistogram
创建一个新的直方图,并使用at
将其第一个x值设置为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,您可以获得:
唯一的可能是,两个直方图的关键点用一条新线分隔。这里有一个可能的方法可以实现这一点。为此,您需要在数据文件中将
A*
值分组在一起,后面是两行新行,然后是所有B*
值:
A1 4
A2 3
B1 1 2
B2 2 3
用两行新行分隔数据集允许您使用index
语句访问它们。(使用两个文件也可以)
然后绘制第一个直方图。这隐式地使用0
,1
等作为x值,但给它们标签A1
,A2
。对于B*
值,您使用newhistogram
创建一个新的直方图,并使用at
将其第一个x值设置为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,您可以获得:
唯一的可能是,两个直方图的关键点被一条新线分隔开