統計プロットパッケージ
統計的観点からデータの概略を知るために,さまざまなプロットや図表が用いられる.その中にはデータの統計計算を要約するものもあれば,データの特性を強調する形でデータを比較するものもある.このパッケージは,パレート図,幹葉図を含む,後者のタイプのプロット関数をいくつか実装する.ヒストグラム,棒グラフ,円グラフも統計分野でよく用いられるが,これらは Mathematica カーネルに含まれている.
| ParetoPlot[data] | データからパレート図を生成する |
| PairwiseScatterPlot[matrix] | 多変量データから対散布図を生成する |
| StemLeafPlot[data] | データのリストから幹葉図を生成する |
| In[1]:= |
パレート図
パレート図とは,データ中の各項目の構成比を表す棒グラフと,その項目の累積和を示す折れ線グラフを組み合せた品質管理プロットである.
| ParetoPlot[list] | list 中のデータの頻度を求め,パレート図を生成する |
| ParetoPlot[{{cat1,freq1},{cat2,freq2},...}] | カテゴリ |
最も基本的な形式では,ParetoPlotは別々の項目からなると想定されるデータのリストを取る.これはリスト内の各項目の頻度を見付け,その頻度を百分率に変換してプロットを作成する.
| In[8]:= |
| Out[8]= | ![]() |
頻度が前計算されているデータでは,ParetoPlotに生データではなく
のペアを与えることによって直接データをプロットすることができる.
| In[9]:= |
| Out[9]= | ![]() |
オプション名 | デフォルト値 | |
| BarOrigin | Bottom | 棒の始点の指定 |
| BarSpacing | Automatic | 棒と棒の間隔 |
| ChartElementFunction | Automatic | 棒のグラフ要素を生成する方法 |
| ChartElements | Automatic | それぞれの棒に使用するグラフィックス |
| ChartLabels | Automatic | 棒のラベル |
| ChartStyle | Automatic | 棒のスタイル |
| ColorFunction | Automatic | 棒の色付け方法 |
| ColorFunctionScaling | True | ColorFunctionの引数を正規化するかどうか |
| LabelingFunction | Automatic | 棒のラベル付けの方法 |
| PlotStyle | Automatic | 線のスタイル |
| PlotMarkers | Automatic | 点のマーカー |
ParetoPlotのオプション
ParetoPlotは上の表で示される通り,棒グラフや折れ線グラフの一般的なオプションを数多く取る.また,通常のGraphicsオプションも取る.
BarChartから,さまざまな
および
のオプションが抽出される.このうちのほとんどはBarChartでのオプションと同様に動作する.ChartLabelsオプションがAutomaticに設定されていない限り,棒が現れる順に循環的にラベルを付ける.ラベルはAutomaticの場合の項目のみに対応する.BarOriginオプションは棒だけでなく,プロット全体に適用される.
| In[10]:= |
| Out[10]= | ![]() |
対散布図
対散布図すなわち行列散布図では,多変量データの各列がお互いに対してプロットできる.このプロットは,変数間の関係を調べるのに使うことができる.結果のプロットは部分グラフの行列となる.
| PairwiseScatterPlot[matrix] | 行列の列をペアのお互いに対してプロットする |
対散布図は,お互いに対してプロットされた多変量データ列からの散布図の行列を形成する.PairwiseScatterPlotはデフォルトで最初の列をプロットの左下に置き,続いて右,上へと置く.
| In[13]:= |
| In[14]:= |
| Out[14]= | ![]() |
オプション名 | デフォルト値 | |
| DataRanges | All | データ範囲の限界 |
| DataLabels | None | 列のラベル |
| DataTicks | None | 列の目盛指定 |
| DataSpacing | 0 | 部分グラフ間のスペース |
| PlotDirection | {Right,Down} | 散布図生成の方向 |
| PlotStyle | Automatic | 部分グラフのスタイル |
PairwiseScatterPlot特有のオプション
プロットの外観を制御するために,さまざまなオプションを使うことができる.DataRangesオプションは,描画される点を限定するために使うことができるもので,範囲指定のリストを取る.範囲は
のペア,All,Automaticのいずれかで与えられ,すべての列に対して循環的に使われる.
注釈的なテキストはDataLabelsとDataTicksで設定する.DataLabelsオプションでラベルのリストを与えると,各列にラベルを付けることができる.目盛は通常のグラフィックスの目盛のシンタックスを使って各列毎に指定できる.目盛は,散布図の行列で対応する行の左右と,対応する列の上下に付けられる.目盛のラベルは隣接する列のラベルが上書きされないように,各列の左右に交互に付けられる.
PlotDirectionオプションはプロット行列で生成するプロットの順序を指定する.デフォルトの{Right, Down}では,データの行 i と列 j が散布図の格子の第 i 行目,第 j 列目にプロットされる.バージョン6.0より前のバージョンで使用される順序は,PlotDirection->{Right, Up}と設定すると得ることができる.
PlotStyleオプションは,単独のスタイルプリミティブあるいはスタイルプリミティブの行列のどちらかを取ることができる.行列の場合は,プリミティブは部分プロットに循環的に適用される.
DataSpacingオプションでは,部分グラフ間のスペースをさまざまな大きさにして描画することができる.このオプションは,各グラフ間の水平および垂直のスペースに対する数または数のペアを取る.この数は1つの部分グラフのサイズにスケールされ,0から1の範囲の数値を取る.スペースの指定に負の数を与えると,部分グラフの順序が並べ替えられる.例えば,最初の列を左下ではなく左上にしたいときは,オプションをDataSpacing -> {0, -2}とすればよい.このオプションを
に設定すると,すべての部分グラフが重なるという面白い現象が見られる.
また,通常のGraphicsオプションをすべて取ることもできる.
| In[15]:= |
| Out[15]= | ![]() |
幹葉図
幹葉図は通常,実数値データの分布を各データ値の大きさとともに視覚化するのに使われる.各データ値は幹(stem)と葉(leaf)で表され,幹は基本単位の整数倍,葉は事前に決めた桁数に与えられる残部である.例えば,基本単位が10のとき,17.3は幹が1,葉が7として表すことができる.葉は共通の幹に集められ,ヒストグラムに似た表示になる.幹はヒストグラムの棒の位置のような役割を果たし,葉は棒の高さに該当する.幹葉図には,図から直接各データ値が読み取れるという利点がある.2つのデータ集合の分布および大きさを比較するためには,幹葉図を並べて使うことができる.
| StemLeafPlot[vector] | データベクトルの幹葉図を生成する |
| StemLeafPlot[vector1,vector2] | 2つのデータベクトルの並列の幹葉図を生成する |
| In[16]:= |
| In[17]:= |
| Out[17]= | ![]() |
このベクトルでは,1の倍数が幹として,小数部を小数第1位まで四捨五入した数値が葉として表示される.3.1および3.2という値は,共通の幹3の葉1,2として表示されている.
| In[18]:= |
| In[19]:= |
| Out[19]= | ![]() |
幹葉図の外観を制御するために,多数のオプションが適用できる.
オプション名 | デフォルト値 | |
| StemExponent | Automatic | 10の整数ベキとして与えられる幹の単位 |
| Leaves | "Digits" | 葉の表示方法 |
| ColumnLabels | Automatic | 図の列のラベル |
| IncludeEmptyStems | False | 葉のない幹を表示するかどうか |
| IncludeStemUnits | True | 幹の単位を図に表記するかどうか |
| IncludeStemCounts | Automatic | 葉とともに,その数の列を表記するかどうか |
StemLeafPlotのオプション
StemExponentの値は整数かAutomaticである.値が整数
の場合,幹の単位は
となる.StemExponent->Automaticの場合,指数はデータの大きさに基づいて選ばれる.
Leavesオプションの値には,
,
,Noneのいずれかが可能である.Leaves->"Tallies"のときは,葉は計数記号(あるいは文字)で表示される.Leaves->Noneでは葉は図に含まれない.Leaves->Noneの設定は,通常すべての葉を表示する代りに,幹と葉の数だけで大きいデータ集合を作図するときに最も便利である.
ColumnLabelsオプションは図の列のラベルを指定するのに使用できる.ColumnLabelsオプションの値は,図の列数と等しい長さのリストかAutomaticである.ColumnLabels->Automaticでは,幹の列のラベルは
に,葉の列のラベルは
に,数の列のラベルは
になる.
IncludeEmptyStemsオプションは,データ範囲内の幹に葉がなくてもそれを表示するかどうかを指定する.このオプションにはTrueかFalseの値が指定できる.
IncludeStemUnitsオプションは,幹の単位を図に表記するどうかを指定する.TrueあるいはFalseが指定できる.
IncludeStemCountsオプションは,作図された実数値の各ベクトルに対して数の列を表記するかどうかを指定する.数の列を表記する場合,単独のベクトルの幹葉図では最右列に,並列の幹葉図では最左列と最右列に表示される.指定できる値はTrue,False,Automaticのいずれかである.IncludeStemCounts->Automaticでは,
オプションがNoneに設定されているときだけ数が表記される.
| In[20]:= |
| Out[20]= | ![]() |
| In[21]:= |
| Out[21]= | ![]() |
幹葉図の外観を制御するために,多数のオプションが適用できる.図はGridBoxとして構築されるため,前述のオプション以外にもGridBoxの標準的なオプションが使える.IncludeStemUnits->Trueならば,GridBoxのオプションは幹と葉のグリッドには適用されるが,幹の単位のラベルには適用されない.
| In[22]:= |
| Out[22]= | ![]() |
StemExponentオプションは幹の単位をさらに分割し,分割したものにラベルを付けるために使うことができる.
オプション名 | デフォルト値 | |
| "UnitDivisions" | 1 | 各幹の単位での分割数 |
| "DivisionLabels" | None | 各単位の分割内での幹の数に付けるラベルのリスト |
StemExponentのサブオプション
オプションは,基本単位をいくつの幹に分割するかを指定する.
の値は,正の整数でなければならない.
部分分割のラベル付けには,
オプションも使用できる.
の値はNone,あるいは
の値に等しい長さのリストでなければならない.
の値がリストならば,幹葉図の各数値の幹にはその値が付加される.
| In[23]:= |
| Out[24]= | ![]() |
葉部をどのように計算し,表示するかを変更するために,多数のLeavesオプションを使うことができる.
オプション名 | デフォルト値 | |
| "LeafDigits" | 1 | 各葉に対して使う桁数 |
| "LeafSpacing" | Automatic | 表示された葉の間のスペース数 |
| "LeafWrapping" | None | どこで葉を改行するかを指定 |
| "RoundLeaves" | True | 葉を決定する前にデータ項目を四捨五入するかどうか |
すべてのLeavesオプション値のサブオプション
オプションは,葉を計算するときに使用する幹部以外の桁数を指定する.これは葉が
として表示される場合,各葉に対して表示される桁数でもある.この値は,正の整数でなければならない.
は葉の間のスペース数を指定する.
は非負の整数,あるいはAutomaticに指定できる."LeafSpacing"->Automaticの設定の場合,
のときはスペースはゼロ,それ以外のときはスペースは1となる.
は,葉を改行する位置を指定する.
は任意の正の整数,あるいはNoneで指定する.Noneでは葉は改行されない.
は葉を計算する前に,値を葉の最終桁まで四捨五入するかどうかを指定する.
| In[25]:= |
| In[26]:= |
| Out[26]= | ![]() |
このデータのように幹に対する葉の数が多い場合は,葉を改行すると便利である.
| In[27]:= |
| Out[27]= | ![]() |
葉が
で表示される場合は,計数記号として使う記号を指定することもできる.
| In[28]:= |
| Out[28]= | ![]() |
この表示では,どの幹が値を多く含んでいるかが一目瞭然である.葉の数や改行等の機能を加えると,各幹に対する葉の数の実際の大きさを判断する場合に便利である.
| In[29]:= |
| Out[29]= | ![]() |



















