ggplot2で線の種類やシンボルを任意に指定する

ggplot2で、aesに指定をかけると、指定をかけた列の内容ごとにプロット(シンボルや、線種など)を系列に分けてくれて便利です。しかし、デフォルトの指定以外に、自分の好きな系列を好きなシンボル、線種に指定したい場合があります。


例:
#ggplot2の機能(ライブラリ)を呼び出す
library(ggplot2)

Rに組み込みのサンプルデータirisを使ってプロットします
head(iris)とRの画面に入力するとデータが見られます

head(iris)
Rのサンプルデータiris

ggplotでグラフを描きます。xにPepal.Length、yにSepal.Lendthを指定して、geom_point()を指定して、xyの点グラフを描きます。
geom_point()の中の、shape=, color=のところに、irisのデータの中のSpeciesの列を指定します。すると、種ごとに色や点の形が別々に描かれます。

g <- ggplot(data=iris, aes(x=Petal.Length, y=Sepal.Length))
g <- g + geom_point(size = 1.5, aes(shape=Species, color=Species))
g <- g + geom_line(aes(linetype= Species, color=Species), lwd =0.5)
plot(g)

ggplotでプロットしたグラフ

 ここでggplotが点(シンボル)や線を適宜色分け、種類分けしてくれます。ここで好みの色やシンボルを指定したい時には、下の2行を付け足します。

g <- ggplot(data=iris, aes(x=Petal.Length, y=Sepal.Length))
g <- g + geom_point(size = 1.5, aes(shape=Species, color=Species))
g <- g + geom_line(aes(linetype= Species, color=Species), lwd =0.5)
g <- g + scale_shape_manual(values=c(2,16,21))
g <- g + scale_color_manual(values=c("gold","tomato2","blue"))
g <- g + scale_linetype_manual(values=c("dashed", "solid", "dotdash"))
plot(g)

ggplot2でグラフのシンボルや色、線の種類を指定したグラフの書き方

scale_shape_manual()の中のvalueに、シンボルの番号を指定します。
今回は3種類に分類する必要があるので、2番と16番と21番を指定してみました。
シンボルの番号と形を確認するためには、以下をコピペします。
plot(1:25, rep(1,25), pch=c(1:25), cex=2, )
text(1:25, rep(1,25), pos=1,labels=c(1:25))

Rのグラフのシンボル一覧

scale_color_manual()の中には、色名か、16進数の色を「"」で囲んで指定します。

scale_linetype_manualでは、線の種類には以下の7種類が指定できます。半角の「"」で囲みましょう。
blank、solid、dashed、dotted、dotdash、longdash、twodash

この記事へのコメント