プロットの凡例パッケージ
このパッケージの関数を使ってグラフィックスに凡例を加える方法は2通りある.最初の方法は組込み関数Plot,ListPlot,ListLinePlotのオプションとしてのみ使えるものであり,もうひとつの方法はどのようなグラフィックスにでも使うことができるものである.PlotLegendオプションを使うためには,各曲線に対応するテキストを指定するだけでよい.曲線の数がテキスト数を上回る場合はテキストが循環的に使用される.グラフィックスに凡例を加える2番目の方法はShowLegendを使うものである.ShowLegendを使う場合は,グラフィックスと凡例を引数として指定する.
| PlotLegend->{text1,text2,…} | Plotのオプションであり,各曲線に対するテキストの凡例を置く |
| ShowLegend[graphic,legend1,legend2,…] | 指定されたグラフィックスに legendi を置く |
<<PlotLegends`Plot[{Sin[x], Cos[x]}, {x, -2 π, 2 π}, PlotLegend -> {"Sine", "Cosine"}]ListPlot[Table[{x, f[x]}, {f, {Sin, Cos, Log}}, {x, 0, 10, 0.5}], PlotLegend -> {"Sine", "Cosine", "Log"}, LegendPosition -> {1.1, -0.4}, Joined -> {True, True, False}, PlotMarkers -> Automatic]| {{{box1,text1},… },opts} | boxi および式に対する色プリミティブあるいはグラフィックスが texti のTextプリミティブへの配置に適している凡例の指定 |
| {colorfunction,n,minstring,maxstring,opts} | n 個のボックスのそれぞれが,オプショナルの文字列を最後に持つcolorfunction で彩色された,凡例の指定 |
ShowLegendでの凡例の形式
ShowLegend[DensityPlot[Sin[x y], {x, 0, π}, {y, 0, π}], {ColorData["LakeColors"][1 - #1]&, 10, " 1", "-1", LegendPosition -> {1.1, -0.4}}]ShowLegend[Plot3D[Sin[x y], {x, 0, π}, {y, 0, π}, ColorFunction -> "Rainbow"], {ColorData["Rainbow"][1 - #1]&, 10, " 1", "-1", LegendPosition -> {1.1, -0.4}}]ShowLegend[Plot[Sin[x], {x, 0, 10}, Filling -> Axis, FillingStyle -> {Red, Blue}], {{{Graphics[{Blue, Disk[{0, 0}, 1]}], Sin[x] > 0}, {Graphics[{Red, Disk[{0, 0}, 1]}], Sin[x] < 0}}}]| LegendPosition | グラフィックスの中心が |
| LegendSize | LegendPositionと同一の座標系で長さあるいは次元 |
| LegendShadow | Noneの場合はボックスに落し影は付かず, |
| LegendOrientation | 値はHorizontalかVerticalであり,ボックスの向きを決定する |
| LegendLabel | 凡例のラベル |
| LegendTextDirection | Textグラフィックスプリミティブにおけるような,テキストを回転する方向 |
| LegendTextOffset | Textグラフィックスプリミティブにおけるような,テキストのオフセット |
凡例の形や特徴を指定するのに使用できるさまざまなオプションがある.中でも最も重要なものはLegendPositionである.これは,グラフィックスの中心が
,グラフィックスの長い方の辺が
から
になるようにスケールされた座標系により指定された位置に,凡例ボックスの左下隅を置く.これと同じ座標系がLegendSizeとLegendShadowにも使われる.
| LegendSpacing | 凡例の中のキーボックスの周囲のスペース.スペースとキーボックスの大きさの比で表される |
| LegendTextSpace | テキストのキーボックスの横に置かれるスペース.LegendSpacingと同様に表される |
| LegendLabelSpace | 凡例ラベルに割り当てられるスペース.LegendSpacingと同様に表される |
| LegendBorderSpace | 凡例全体の周囲に割り当てられるスペース.LegendSpacingと同様に表される |
| LegendBorder | 凡例ボックスの周囲の輪郭線のスタイル.LegendShadowがNoneでない場合だけ使用できる |
| LegendBackground | 凡例の背景色のスタイル.LegendShadowがNoneでない場合だけ使用できる |
| ShadowBackground | 凡例の落し影の色 |
凡例中のさまざまな要素の周囲の余白の大きさを決定するオプションの中には,望ましいスペースの大きさをキーボックス(凡例中のキーを表す色付きのボックス)の1つのサイズとの割合の数字で受け付けるものもある.これらのオプションにはLegendSpacing,LegendTextSpace,LegendLabelSpace,LegendBorderSpaceがある.
Plot[{Sin[x], Cos[x]}, {x, 0, 2 π}, PlotStyle -> {Directive[Purple, Thick], Directive[Thick, Orange, Dashing[{.03}]]}, PlotLegend -> {"sin", "cos"}, LegendPosition -> {.5, -.8}, LegendTextSpace -> 0.5, LegendLabel -> Style["Trig Funcs", 14], LegendLabelSpace -> .5, LegendOrientation -> Vertical, LegendBackground -> LightPurple, LegendShadow -> {.02, -.02}, Background -> LightOrange, LegendSize -> {0.5, 0.5}]| Legend[legendargs,opts] | 個々の凡例を記述するグラフィックスプリミティブを与える |
| ShadowBox[pos,size,opts] | 影の付いたボックスのグラフィックスプリミティブを与える |
Legendの引数はShowLegendで与えられる凡例の表記にあった最初の組のカッコ中のものと同じである.LegendまたはShadowBoxを使って,自分のグラフィックスのどこででも使える影の付いたボックスあるいは凡例のグラフィックスプリミティブのみを生成することができる.
ShadowBox[{0, 0}, {1, 1}, ShadowBackground -> GrayLevel[.7]]Show[Graphics[%]]| ShadowOffset | ボックスから影のオフセット |
| ShadowBackground | 影の色を与える |
| ShadowForeground | 影の付いたボックスの色を与える |
| ShadowBorder | ボックスの周囲の線のスタイルを示すグラフィックスプリミティブあるいはプリミティブのリストを与える |
ShadowBoxのオプション