0

在我的代码中,我的图例的标题是自动生成的(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)

另外,如何将图例符号从一条线更改为全彩色块?现在是这样的:

在此处输入图像描述

4

1 回答 1

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)
}

在此处输入图像描述

于 2013-10-18T11:01:16.770 回答