Изменение форм, используемых для scale_shape () в ggplot2
Вопрос
Предположим, у меня есть следующее
y <- rnorm(10)
b <- as.factor(sample(1:4,10,replace=T))
qplot(1:10, y, shape=b)
Как изменить формы, которые используются с помощью ggplot2
?
Решение
GGPLOT, способ сделать это, - это использовать scale_shape_manual
и предоставить желаемые формы в values
Аргумент:
qplot(1:10, y, shape=b) + scale_shape_manual(values = c(0, 5, 6, 15))
Формы такие же, как обычные индексы 0-25: http://yusung.blogspot.com/2008/11/plot-symbols-in-r.html
Другие советы
Чтобы дополнить ответ Харлана, вот ссылки на доступные формы - начните с 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))
> 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» способ сделать это, но страница «Человек» гласит «Вы можете использовать ее так, как будто вы используете функцию« сюжет ». :-)
Не связан с StackOverflow