使用 PGFPLOTS 绘制表中某一列的多个值

使用 PGFPLOTS 绘制表中某一列的多个值

我正在尝试用 绘制箱线图的异常值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";
            }
      }
}

相关内容