在ggplot2 boxplot中映射异常值颜色,前面的示例不再有效

时间:2015-01-21 14:50:52

标签: r ggplot2 boxplot

我试图做this示例,但我没有得到相同的结果。异常点仍然是黑色的。

以下是我尝试复制的示例:

m <- ggplot(movies, aes(y = votes, x = factor(round(rating)),
    colour = factor(Animation)))
m + geom_boxplot(outlier.colour = NULL) + scale_y_log10()

以下是sessionInfo()的输出,请注意我使用R版本3.1.2和ggplot2版本1.0.0。

  

sessionInfo()   R版本3.1.2(2014-10-31)   平台:x86_64-w64-mingw32 / x64(64位)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] xtable_1.7-4    mvabund_3.9.3   Rcpp_0.11.3     ggplot2_1.0.0   stringr_0.6.2  
 [6] vegan_2.2-1     lattice_0.20-29 permute_0.8-3   reshape2_1.4.1  dplyr_0.4.1    

loaded via a namespace (and not attached):
 [1] assertthat_0.1   cluster_1.15.3   colorspace_1.2-4 DBI_0.3.1        digest_0.6.8    
 [6] grid_3.1.2       gtable_0.1.2     labeling_0.3     lazyeval_0.1.10  magrittr_1.5    
[11] MASS_7.3-35      Matrix_1.1-5     mgcv_1.8-4       munsell_0.4.2    nlme_3.1-119    
[16] parallel_3.1.2   plyr_1.8.1       proto_0.3-10     scales_0.2.4     statmod_1.4.20  
[21] tools_3.1.2      tweedie_2.2.1   

1 个答案:

答案 0 :(得分:0)

抱歉误解了你的意图。

编辑: 然后我认为您链接中接受的答案有效。使用dplyr

在下面转载
library(dplyr)
plot_Data <- mtcars %>% group_by(cyl) %>% 
                        mutate(Q1=quantile(mpg, 1/4),
                               Q3 = quantile(mpg, 3/4), 
                               IQR = Q3-Q1, upper.limit = Q3+1.5*IQR,  
                               lower.limitit=Q1-1.5*IQR) 

 ggplot() +
          geom_boxplot(data=plot_Data, aes(x=factor(cyl), y=mpg, col=factor(cyl))) + 
          geom_point(data=plot_Data[plot_Data$mpg > plot_Data$upper.limit | plot_Data$mpg < plot_Data$lower.limit,], aes(x=factor(cyl), y=mpg, col=factor(cyl)))