ggplotで散布図を作る geom_point()の使い方

Rでggplotを使って散布図を作りたい時に活用されるのが, geom_point()という関数です. ここでは, いくつかの例を元に, その使い方を解説していきます.

geom_point()のaes()内で扱える引数

  • x
  • y
  • alpha
  • colour
  • fill
  • shape
  • size

geom_point()の使い方の流れ

ggplotを使うのが初めての方は, 良かったら「ggplotの使い方」を参考にしてください. このページでは, ggplotの関数の中でも, 特にgeom_point()関数の使い方の流れを説明していくつもりです.

では, まず一番シンプルな散布図を作成してみます. 使用するデータセットはirisです.

> library(ggplot2)
> str(iris)
'data.frame':	150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
> p <- ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width))
> p + geom_point()
> ggsave(file="geom_point1.png")
Saving 7 x 7 in image
            
geom_point1.png

引数に何も取らずにgeom_point()を使うと, 上のようなグラフが描写されます.

次に, Speciesパラメータで色分けをしたいと思います. そのためには, 色分けをSpeciesパラメータについて行うということを以下のように, 明示的に示します.

> p + geom_point(aes(colour=Species))
> ggsave(file="geom_point2.png")
Saving 7 x 7 in image
            
geom_point2.png

上の例では, Speciesの種類が3種類だけだったので, 3種類の色分けをされました, では, 例えばPetal.Widthというパラメータで色分けをしたいとします. 上の例に習って, 次のようにコマンドを打ちます.

> p + geom_point(aes(colour=Petal.Width))
> ggsave(file="geom_point3.png")
Saving 7 x 7 in image
            
geom_point3.png

図をみてわかるように, 数値によってグラデーションで色分けされました. しかし, 数値ごとに異なる色に色分けをしたいこともあると思います. そんな時は, 次のようにコマンドを打ってください.

> p + geom_point(aes(colour=factor(Petal.Width)))
> ggsave(file="geom_point4.png")
Saving 7 x 7 in image
            
geom_point4.png

何をしているかというと, 先ほどとは引数が少し違います. Petal.Widthというパラメータをfactor()で囲っています.

引数にとるものを変えても, 使い方はほぼ同じです. また, 引数は複数とることができるので, 今度はcolour, shape, の2つを適用してみます.

> p + geom_point(aes(colour=factor(Petal.Width), shape=Species))
> ggsave(file="geom_point5.png")
Saving 7 x 7 in image
            
geom_point5.png

他にもalphaや, sizeなども引数にとれるので, 色々試してみると面白いと思います.