web-dev-qa-db-ja.com

ggplot2のscale_shape()に使用される形状の変更

私は次のものを持っていると仮定します

y <- rnorm(10)
b <- as.factor(sample(1:4,10,replace=T))
qplot(1:10, y, shape=b)

ggplot2を使用して使用されている形状を変更するにはどうすればよいですか?

30

それを行うためのggplotの方法は、scale_shape_manualを使用し、values引数で目的の形状を提供することです。

qplot(1:10, y, shape=b) + scale_shape_manual(values = c(0, 5, 6, 15))

result of above

形状は通常の0-25インデックスと同じです: http://yusung.blogspot.com/2008/11/plot-symbols-in-r.html

42
Harlan

Harlanの答えを補完するために、利用可能な形状のリファレンスを以下に示します-左下の0から開始し、右(10y + x)に読みます:

df <- data.frame(x=c(0:129))
ggplot(df, aes(x=x%%10, y=floor(x/10), shape=factor(x), colour=x, size=10)) +
  geom_point() +
  scale_shape_manual(values=df$x) + theme(legend.position='none') +
  scale_x_continuous(breaks=0:10) + scale_y_continuous(breaks=0:12) +
  scale_colour_hue() + scale_colour_gradientn(colours=Rainbow(3))

Shapes available in ggplot2

20
naught101
> y <- rnorm(10)
> b <- as.factor(sample(1:4,10,replace=T))
> qplot(1:10, y, shape=b)
> qplot(1:10, y, pch=letters[1:10], cex=6)

これはどういう意味ですか? Rのプロット文字を使用できると思います...

しかし、これはこれを行う「ggplot」の方法ではないかもしれませんが、マニュアルページには「「plot」関数を使用するように使用できます」と記載されています。 :-)

alt text

6
Vince