ggplot2:具有从公共变量派生的两个视觉属性的一个图例

时间:2013-03-03 18:11:02

标签: r ggplot2 legend

如何获得捕捉颜色和大小的单个图例?

我的印象是,如果使用公共变量,则默认使用常见图例,但以下示例显示我遗漏了某些内容。

library(ggplot2)

input <- as.data.frame(matrix(runif(60),nrow=20,ncol=3))
colnames(input) <- c("A","B","C")

p <- ggplot(input,aes(A,B,size=C,color=C)) + geom_point() 

enter image description here

感谢Arun发表评论,提示此编辑。因此,如果只使用尺寸(并忘记颜色),则会获得描绘三种尺寸的图例,但图中会显示更多尺寸。

enter image description here

所以我想要的是类似的行为 - 一个显示公共变量的一些值并描绘相应大小和颜色的图例。

2 个答案:

答案 0 :(得分:10)

无法合并颜色栏,但普通图例可以

p + guides(colour = guide_legend())

答案 1 :(得分:0)

我需要使尺寸和颜色的标签相同,并确保它与指南行结合使用相同的信息。

p+geom_jitter(data=df, aes(x=x, y=y, color=value, size = value)) 
+scale_size_continuous(name = "Legend Name", breaks= c(.25, .50,.75), labels=c(".25",".50",".75"))+scale_colour_gradient(name = "Legend Name", breaks= c(.25, .50,.75), labels=c(".25", ".50",".75"))+ 
guides(colour = guide_legend())