0

我试图有两个图例:一个基于变量 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

任何建议都非常受欢迎。

4

1 回答 1

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)

在此处输入图像描述

于 2019-01-17T18:18:10.060 回答