与ggplot2的异常颜色

时间:2016-09-27 16:24:21

标签: r ggplot2 outliers

首先 - 完全披露:我是编码新手。我已经用Google搜索了这个,如果有帖子解释如何做到这一点,那么我要么找不到它们,要么(更有可能)不理解它们!我试图发布图片,但显然我的声誉尚未准备好......

我正在尝试制作一些箱形图,并希望异常颜色与框的填充颜色相匹配,我希望能够选择那些颜色。所以这是我的原始代码:

    PIPO.box = ggplot(data = rim.sbs, aes(x=as.factor(Year), y=PIPO2))+
      geom_boxplot(aes(fill=Mulched)) +
      scale_fill_manual(name = " ", values = c("grey", "white")) + labs(x = "", y = "Ponderosa pine seedlings/ha\n") + theme_bw(base_size = 24) + 
      theme(panel.border = element_blank(), 
      panel.grid.major = element_blank(), panel.grid.minor = element_blank(),  
      axis.line = element_line(colour = "black"),
      axis.text = element_text(size = 18))
    PIPO.box

通过大量谷歌搜索,我想出了如何使盒子和异常颜色在治疗中保持一致。它主要是我想要的,但不是柔和的颜色!我也想要一个治疗方法有一个填充框,如上面创建的图表。所以我想要两者结合起来。

    PIPO.box = ggplot(data = rim.sbs, aes(x=as.factor(Year), y=PIPO2))+
      geom_boxplot(aes(colour = Mulched)) +
      scale_fill_manual(name = " ", values = c("grey", "white")) + labs(x = " ", y = "Ponderosa pine seedlings/ha\n") + 
      theme_bw(base_size = 24) + theme(panel.border = element_blank(), 
      panel.grid.major = element_blank(), panel.grid.minor = element_blank(),   
      axis.line = element_line(colour = "black"),
      axis.text = element_text(size = 18))
    PIPO.box

我尝试使用scale_fill_manual让我选择颜色但是我没有得到匹配的异常值。我确实在其中一个帮助网站上找到了一个狡猾的解决方法,创建了一个包含异常值的数据集,然后使用geom_points以我选择的颜色重新添加它们,但该代码是针对一个因素编写的,我无法弄清楚如何将这些点转换为两个因素分开,见下文。又是那些讨厌的粉彩!

    library(plyr)
    plot_Data <- ddply(rim.sbs, .(Year), mutate, Q1=quantile(PIPO2, 1/4), Q3=quantile(PIPO2, 3/4), IQR=Q3-Q1, upper.limit=Q3+1.5*IQR, lower.limit=Q1-1.5*IQR)

    PIPO.box = ggplot(data = rim.sbs, aes(x=as.factor(Year), y=PIPO2))+
      geom_boxplot(aes(fill=Mulched)) +
      scale_fill_manual(name = " ", values = c("grey", "white")) + labs(x = " ", y = "Ponderosa pine seedlings/ha\n") + theme_bw(base_size = 24) +
      theme(panel.border = element_blank(), 
      panel.grid.major = element_blank(), panel.grid.minor = element_blank(), 
      axis.line = element_line(colour = "black"),
      axis.text = element_text(size = 18))
    PIPO.box + geom_point(data=plot_Data[plot_Data$PIPO2 > plot_Data$upper.limit | plot_Data$PIPO2 < plot_Data$lower.limit,], aes(x=factor(Year), y=PIPO2, col=factor(Mulched)))

任何有关使用填充和异常颜色创建箱形图的帮助,以及我自己选择的任何帮助都将非常感谢!!

0 个答案:

没有答案