Изменение форм, используемых для scale_shape () в ggplot2

StackOverflow https://stackoverflow.com/questions/1478532

  •  16-09-2019
  •  | 
  •  

Вопрос

Предположим, у меня есть следующее

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))

result of above

Формы такие же, как обычные индексы 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))

Shapes available in ggplot2

> 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» способ сделать это, но страница «Человек» гласит «Вы можете использовать ее так, как будто вы используете функцию« сюжет ». :-)

alt text

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top