我有一个带有一组点的图,这些点针对不同的x值:
x = 0.5为5点,x = 0.6为5点,...,x = 1.4为5点,x = 1.6为5点。

现在,我想为每个x值创建一个箱线图。但是不知何故,我所有的箱线图都在x = 0.5处。我希望在正确的x值处创建框线图。 2 x值之间的距离可以不同。我当前的x值为0.5、0.6、0.7、0.8、0.9、1.0、1.2、1.4和1.6,但对于不同的图,它们也可能不同。我该怎么做?

这是我的观点的GNUPlot脚本:https://dl.dropboxusercontent.com/u/26464165/Points.gnu

这是我的箱线图的GNUPlot脚本:https://dl.dropboxusercontent.com/u/26464165/Boxplots.gnu

谢谢你的时间!

最佳答案

您必须重新排列方框图的数据。统计信息是在完整列上计算的。因此,您必须像这样重新排列数据:

# 1.0 1.2 1.4 ...
2.2 2.2 3.06
2.0 2.46 2.93
2.2 2.46 3.06
2.0 2.4 2.8
1.73 2.33 2.8

然后可以使用以下命令进行绘制:
set style fill solid 0.25 border -1
set style boxplot outliers pointtype 7
set style data boxplot

set title 'My Plot' font 'Arial,14';
set xtics ('1.0' 1, '1.2' 2, '1.4' 3)
plot for [i=1:3] 'data.txt' using (i):i notitle

4.6.4的结果是:

您可以(使用Unix命令行工具)提取它们而不是手动编写xtics,例如所示。在https://stackoverflow.com/a/10799204/2604213中:
header = "`head -1 data.txt | cut -b 2-`"
set for [i=1:words(header)] xtics (word(header, i) i)

09-07 05:43