来自一个数据集的两个不同图例

时间:2019-01-17 17:43:06

标签: r ggplot2 shapes aesthetics

我正在尝试创建两个图例:一个基于变量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 :(得分:1)

您可以像geom_point(aes(x=a,y=b,shape=factor(c))) +geom_point(aes(x=a,y=b,size=d), shape=3)一样在aes()中编写形状和大小。例如,

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