2013-10-18 109 views
0

在我的代碼中,我的圖例標題自動生成(X1,X2,...)。我如何使它所以不是X#,它說:「N =#」,其中n是在我sapply函數給出ggplot2:動態圖例標題

library(ggplot2) 
library(reshape2) 

PlotBinom <- function(p) { 
    x <- c(0:500) 
    df <- sapply(seq(50,500,by=50), function(n) dbinom(x,n,p)) 
    df <- data.frame(x,df) 
    melted.df <- melt(df,id.vars='x') 

    plot <- ggplot(melted.df,aes(x=x,y=value,colour=variable)) + geom_line() 

    print(plot) 
} 

PlotBinom(0.6) 
PlotBinom(0.2) 

而且,我如何更改圖例符號從直線到全綵塊?下面是它現在是什麼:

enter image description here

回答

2

添加調用scale_colour_discrete與所需標籤的載體......

PlotBinom <- function(p) { 
    x <- c(0:500) 
    df <- sapply(seq(50,500,by=50), function(n) dbinom(x,n,p)) 
    df <- data.frame(x,df) 
    melted.df <- melt(df,id.vars='x') 

    plot <- ggplot(melted.df,aes(x=x,y=value,colour=variable)) + geom_line()+ 
    scale_colour_discrete(labels= paste("N =" ,1:length(unique(melted.df$variable)))) 

    print(plot) 
} 

enter image description here