pgfplotsで5数要約から箱ひげ図を描く

高校数学でデータの分析の話をするときに(次期指導要領では中学だが)箱ひげ図を描く必要があることがある。

このとき、5数要約から箱ひげ図を描きたいという需要がある。Studyaidは良きに計らってくれるはずである。しかし、そんなものに縁の無い私はTeXで頑張るしかない。

数年前に色々とgoogleに聞いてみたところ、pgfplotsで簡単に描けることがわかった。そのときに描いた図を下に示す。

f:id:baruku07:20180204201217p:plain

%\usepackage{tikz} %プリアンプルに
%\usepackage{pgfplots} %プリアンプルに
%\usepgfplotslibrary{statistics} %プリアンプルに

   \begin{tikzpicture}
    \begin{axis}[
     boxplot/draw direction = y,
    xtick={1,2},
    xticklabels={Pチーム, Qチーム},
    ]
   \addplot+[
   black, 
    boxplot prepared={
      median=5, 
      upper quartile=9,
      lower quartile=3,
      upper whisker=10,
      lower whisker=1
    },
    ] coordinates {};
   \addplot+[
   black, 
    boxplot prepared={
      median=6,
      upper quartile=11,
      lower quartile=2,
      upper whisker=12,
      lower whisker=1
    },
    ] coordinates {};
    \end{axis}
   \end{tikzpicture}

マニュアルの例を少しだけ触っただけである。特にオリジナリティーは無い。何をやっているかは上のソースをみればすぐにわかるので説明は略。

pgfplotsなので、軸の加工など色々できるようである。TeXなのでフォント周りのトラブルに巻き込まれないのも良い(Rは日本語の出力が面倒)。平均値をいれたバージョン(個人的には、これは箱ひげ図として邪道と考えるので絶対に認めない。)も作れるらしい。自分の場合は上の図で仕事が完了できたので、それ以上のことは追求していない。

個人的に高校数学の箱ひげ図に対して思う事(余談)

箱ひげ図はデータの傾向を大雑把に見るためにあるものである。元のデータから情報量を適度に落として適切なレイアウトで並べることで、大雑把な比較が簡単にできる図であると、私は認識している。よって、通常はデータから箱ひげ図を描くのが普通である。

しかし、高校数学では、箱ひげ図は色々な人工的な問題に加工されて扱われる。また、データから箱ひげ図を描くとしても、高校流の要約統計量の計算によって描かざるを得ない。これは、実際の統計ソフトで使うスタンダードとは別物である。よって、そのままコンピュータ実習に持っていくなどの現実への接続もしにくい。

箱ひげ図のメリットをわかっていない人もみかける。そういう人は、1個の箱だけ描かれた図を色々とこねくり回して議論をして終わりである。1個しか箱がないのなら、別に5数要約の数値そのまま示せば良いし、もっと情報量の多いヒストグラムもあるし、ということで箱ひげ図の存在価値はない。

なお、センターのような、きちんとした頭脳を結集して作られている問題については、そういう批判があたらないように細心の注意を払って作られているように見受けられる(それでも、無理矢理差をつけるために重箱の隅をつついていると思わないでもないが。ただ、質の悪い高校教師が適当に作った問題より100倍まし)。

しかし、高校数学の人工世界でしか通用しない作法を時間をかけて教えても意味がないようなと思う・・・こういう話は(受験数学や選別的な価値観を持つ)数学科でなく(実用本位の)情報科で扱った方が良い題材だと個人的には思っている。

こちらが、こうやって5数要約から箱ひげ図を描いて教えたり筆記試験をさせるのではなく、統計ソフトで現実データを使って箱ひげ図を生徒に描かせて色々とやる実習が中心になる日がくると良いけどな・・・まあ無理だろうけど。