ggplot2:动态图例标题

时间:2013-10-18 10:46:48

标签: r ggplot2 legend

在我的代码中,我的图例的标题是自动生成的(X1,X2,...)。我怎么做而不是X#,它说“N =#”,其中n是在我的sapply函数中给出的

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

1 个答案:

答案 0 :(得分: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