ggplot R

时间:2017-02-28 17:40:18

标签: r loops ggplot2

我根据我的分类特征输出我的响应变量的每个boxplot,但我无法突出显示每个类别的观察数量。我尝试了stat_summary和geom_text()选项,这些选项在这里说明但它们不起作用。

如何在箱形图中显示它们?

以下是我的代码:

    for(i in 3:ncol(Train_factor)){
    b<-paste("Boxplot for",colnames(Train_factor[i]))
    p10 <- (ggplot(data=Train_factor, aes_string(x = names(Train_factor)[i], 
    y = "Response",fill=variable)) +
    geom_boxplot())
    plot_list[[i]] = p10
    }
    for (i in 3:ncol(Train_factor)) {
    file_name = paste("boxplot", i, ".tiff", sep="")
    tiff(file_name)
    print(plot_list[[i]])
    dev.off()
    }

1 个答案:

答案 0 :(得分:1)

您没有提供可重现的示例,因此这是使用内置mtcars数据框的一般示例。我们使用geom_text()但不使用stat="identity"(默认值),我们使用stat="count"label=..count..(这是内部计算的值数的计数),以便显示值将是值的计数。

library(ggplot2)

ggplot(mtcars, (aes(x=factor(cyl), y=mpg))) +
  geom_boxplot() +
  geom_text(aes(label=..count..), y=0, stat='count', colour="red", size=4) +
  coord_cartesian(ylim=c(0,max(mtcars$mpg))) +
  theme_classic()

enter image description here