簡體   English   中英

將不同的因素映射到R ggplot中的圖例標簽

[英]Mapping a different factor to the legend labels in R ggplot

我想在我的圖例中提供其他信息。 我想使用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中獲取信息,而不是明確給出信息。

謝謝你的建議

IDinfo1info2在一起並將其用作ID是否可行?

mydata$ID2 = paste(mydata$ID,paste(mydata$info1),paste(mydata$info2), sep='-')

ggplot(mydata,aes(x=x,y=y,color=as.factor(ID2)))+geom_line()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM