我正在尝试用 绘制箱线图的异常值pgfplots
。我已经设法绘制了实际的箱子,所以现在我正尝试绘制一个简单的散点图。我有几个表格,如下所示:
n median Q3 Q1 UW LW mean min max outliers
12 1.952017 2.030306 1.893512 2.065810 1.879817 1.959266 1.879817 2.065810 {}
24 1.878986 1.922025 1.836832 1.965843 1.787341 1.919280 1.787341 2.932309 {2.932309}
36 2.080509 2.187772 2.038786 2.315607 1.944424 2.108413 1.944424 2.315607 {}
72 3.902994 4.103200 3.658043 4.763806 3.427024 3.972250 3.427024 5.040159 {5.040159, 4.905358, 4.856334, 4.821004, 4.789719, 4.775229}
这种幼稚的做法\addplot+[scatter, only marks] table[x={n}, y={outliers}] {data.dat};
当然行不通,因为异常值不是一个单一的值。我试过使用,\foreach
但老实说,我不知道我在做什么。
任何帮助将不胜感激!
编辑:我采取了简单的方法,编写了一个脚本来提取异常值并简单地绘制它们。
答案1
我通过编写一个简单的脚本来在单独的表中提取异常值来“解决”了这个问题。
#!/usr/bin/perl
for( <> ) {
if( /(\d+).*{((?:\d+\.?\d*,? ?)+)}/ ) {
my $x = $1;
for( split(/, /,$2) ) {
print "$x\t$_\n";
}
}
}