[英]Adding a legend to ggplot with facet_grid
我正在使用下面顯示的代碼創建一個3x3的多面圖。 問題是我沒有傳說。
# Create column vectors
XID <- rep(c(1,5,10), each=57)
TAD.unit <- c(0, 0.25, 0.5, 0.75, 1, 1.5, 2, 3, 4, 6, 8, 10, 12, 16, 20, 24, 36, 48, 72)
TAD <- rep(TAD.unit, length=length(XID))
FID <-rep(c(1,2,3),each=length(TAD.unit),length=length(XID))
time <- TAD + (FID-1)*14*24
dist1 <- pweibull(TAD,2,2)
dist2 <- pweibull(TAD,2,4)
# Create data frame
data.df <- as.data.frame(cbind(XID,time, FID, dist1, dist2, TAD))
library(ggplot2)
label_both = function(column,value){paste(column,"=",value)}
# Create plot
my.plot1 <- ggplot(data.df, aes(x=TAD, y=dist1)) + geom_point() +
geom_line(aes(x=TAD, y=dist2)) +
facet_grid(XID ~ FID, labeller=label_both) +
labs(x = "TAD", y = "Response")
# alternative data structure per recommendation in
# http://stackoverflow.com/questions/15418302/ggplot2-how-to-show-the-legend?rq=1
library(reshape)
df.2 <- melt(data.df, id=c("XID","FID","TAD","time"))
我嘗試使用數據幀df.2來查看是否對我提供鏈接的堆棧溢出線程中的建議有所幫助。 我嘗試了各種ggplot命令,但仍然無法正常工作。 有人可以幫幫我嗎?
另外,如何將圖例放置在3x3內有空白的地方?
非常感謝你!
對於圖例圖,請使用融化的數據框,例如,使用顏色區分兩個距離數據集。 例如:
ggplot(df.2, aes(x=TAD, y=value, colour = variable)) + geom_line() + facet_grid(XID ~ FID, labeller=label_both) + labs(x = "TAD", y = "Response")
至於圖例的定位,我會以一個很好的答案為您推薦這個問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.