две разные легенды из одного набора данных - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь иметь две легенды: одну на основе переменной c, а другую на переменную d, определяемую их собственной формой и размером.Я знаю, возможно ли это в ggplot2?Возможно, это не соответствует философии использования ggplot2.Если я преобразую данные в длинный формат, я могу иметь дело с различными формами, но размеры перепутаны.То же самое происходит, если я использую опцию facet_wrap.

structure(list(a = c(5, 6, 7), b = c(5, 6, 7), c = c(0.1, 0.5, 
1), d = c(10, 5, 1)), .Names = c("a", "b", "c", "d"), row.names = c(NA, 
-3L), class = "data.frame")

library(ggplot2)
plot <- ggplot() + geom_point(data=e,aes(x=a,y=b,size=c), shape=1, 
color="black") 
plot <- plot + geom_point(data=e,aes(x=a,y=b,size=d), shape=3, color="red")
plot

Любой совет более чем приветствуется.

1 Ответ

0 голосов
/ 17 января 2019

Вы можете написать форму и размер в aes () как geom_point(aes(x=a,y=b,shape=factor(c))) +geom_point(aes(x=a,y=b,size=d), shape=3). Например,

library(ggplot2)
ggplot(mpg) + geom_point(aes(x=hwy,y=cty,shape=class)) +
geom_point(aes(x=hwy,y=cty,size=cyl), shape=3)

enter image description here

...