[R]グラフの一部を塗りつぶす

積分範囲を表現する場合などにグラフの一部を塗りつぶしたいことがあるかと思います。
RではPolygon(低水準作図関数)を使用することによってグラフの一部を塗りつぶすことが可能です。


とりあえず、関数とかは別にしてPolygon関数を使った作図のサンプルコード。

2・3行目:表示する座標値、最後で最初の場所に戻っています。
6行目:Polygon単体ではグラフがかけないのでplotでグラフ(軸のみ)を作図
9行目:灰色に塗りつぶすようにポリゴンを作図
12行目以降:解説用の文字列(座標)を表示

Polygonを用いた作図

ここで、
(x[2], y[2])~(x[5], y[5])に表示したい関数による座標を表示して
(x[1], y[1])、(x[6], y[6])に始点・終点でグラフの下端を、
(x[7], y[7])に(x[1], y[1])の座標を指定すれば良いことになります。


では、↑を応用して正規分布の確率密度関数の-2σ~+1.5σを塗りつぶしてみます。

確率密度関数の一部を塗りつぶす


さらに、任意関数を定義すればいろいろなグラブの一部を塗りつぶせます。
例えば二次関数(放物線)のグラフの一部を塗りつぶした場合。

放物線(任意関数)の一部を塗りつぶす


この記事を作成するに当たって下記のサイトを参考にさせていただきました。