【发布时间】:2016-06-29 13:38:18
【问题描述】:
我想在我的图例中提供更多信息。我想使用 ID 为每个图表赋予唯一的颜色。但是我的图例标签我想包含一个因素的信息,该因素对于不同的 ID 可以是相等的,但对于一个 ID 来说总是不变的。 示例:
mydata <- data.frame(x=rep(1:10,5),
y=rep((1:10),5)*sort(rep((10:14)/10,10)),
ID=sort(rep(1:5,10)),
info1=sort(rep(c("A","B","C","D","C"),10)),
info2=sort(rep(c("GG","HH","HH","GG","II"),10)))
ggplot(mydata,aes(x=x,y=y,color=as.factor(ID)))+geom_line()
这给了我应有的情节加上一个显示 ID 的图例。
现在我的问题是如何用 info1 中的因子替换 ID,同时为每个图形保留不同的颜色。更好的是在一个图例中包含来自 info1 和 info2 的信息...
我知道如何使用额外的 invisibe 图来获得额外的图例,但这并不是我想要的:
ggplot(mydata,aes(x=x,y=y,color=as.factor(ID)))+geom_line() +
geom_point(aes(shape=NA,size=info1,fill=info2)) + guides(color=FALSE)
相反,我想要第一张图片中的图例,但第二张图片中的信息(标签)。当然,只是从 data.frame 中获取信息,而不是明确给出。
感谢您的建议
【问题讨论】:
-
所以您的图例中有 5 种颜色,但有 7 个显示尺寸的项目,您如何尝试将它们配对?
-
Nathan,当您查看数据框 (mydata) 的构造方式时,您会注意到我只有 5 个“项目”,其中包含不同的因素集(ID、info1、info2)来描述它们. ID是唯一的,info1有4层,info2有3层。