为了快速可视化测量之间的差异,我想使用gnuplot绘制在单个图中组合的两个(后来的多个)箱形图。基本上,我想可视化每个测量的五位数摘要(最小第一个平均值中位数平均第三个最大值)。
我的“数据文件”中的每一列都代表一个测量样本。
我的数据是这样的:
A B C D
1.008 1.008 . .
0.909 0.909 . .
0.975 0.975
2.647 2.647
6.530 1.901
1.819 0.909
1.819 0.909
2.695 0.909
0.529 0.529
0.964 0.964
2.728 0.909
1.819 0.909
4.133 1.108
11.275 6.133
5.920 5.920
. .
我希望它看起来像boxplot演示。
但是,由于他们似乎使用第三列将一个箱形图向右滑动,因此我无法使该演示正常工作,但是我并不十分了解它的工作原理。
为了澄清起见,在RI中将执行以下操作:
par(mfrow=c(1,3))
b1 <- boxplot(datafile$A)
b2 <- boxplot(datafile$B)
b3 <- boxplot(datafile$C)
我也想知道如何绘制相同比例的箱线图。我担心少数几个很高的值可能会拉伸最大值。盒子图的晶须太多,以至于盒子本身变得太小了,以至于我看不到两个盒子的中位数之间的差异。
编辑:
建议的解决方案是确定的,直到我尝试还绘制其余数据。如果我绘制数据,则绘制变得非常拥挤,以至于看不到任何东西。
下面是一个仅包含我其余数据的前1000个条目的示例。
如何将异常值包含在包装盒中?(我不想丢弃它们。)
在示例中,他们使用固定数字设置每个箱形图:
plot 'data.txt' using (0):1 with boxplot
在第一列的x值处绘制数据0
。对于两个图,相应地是:
set style data boxplot
plot 'data.txt' using (0):1, '' using (1):2
Gnuplot无法自动确定列数,但是您可以实现某种自动化,如下所示:
file = 'data.txt'
header = system('head -1 '.file);
N = words(header)
set xtics ('' 1)
set for [i=1:N] xtics add (word(header, i) i)
set style data boxplot
unset key
plot for [i=1:N] file using (i):i
如果我复制您显示的两列,并用标记它们A B C D
,则使用gnuplot 4.6.3得到以下图:
如您所见,未考虑离群值。要隐藏异常值,请使用set style boxplot nooutliers
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句