Две разные легенды из одного набора данных
Я пытаюсь иметь две легенды: одну на основе переменной 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 ответ
Вы можете написать форму и размер в 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)