geom_boxplot中的宽度参数和stat ='identity'

时间:2018-09-17 22:52:53

标签: r ggplot2

我的问题基本上是 Width of boxplot created from summary stats由于标记不完整(没有r也没有ggplot2标记而仅引起了人们的关注,我建议相应地进行一些修改。

我尝试重现示例of this question,然后得到

  

警告:忽略未知参数:宽度

我发现这很好奇,因为我以前使用width作为参数。删除stat = identity

时,警告消失了

在以前的许多线程中,此参数似乎已经起作用(例如:Fine tuning ggplot2's geom boxplot)。这与升级到ggplot2 3.0有关吗?

笔记
我并不是真的想在箱形图中使用预先计算的值,而是在开始回答上述问题时碰到了这个问题。


sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6

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

other attached packages:
[1] ggplot2_3.0.0

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.17     digest_0.6.15    withr_2.1.2      dplyr_0.7.6     
 [5] assertthat_0.2.0 grid_3.5.0       plyr_1.8.4       R6_2.2.2        
 [9] gtable_0.2.0     magrittr_1.5     scales_0.5.0     pillar_1.2.3    
[13] rlang_0.2.2      lazyeval_0.2.1   bindrcpp_0.2.2   labeling_0.3    
[17] tools_3.5.0      glue_1.2.0       purrr_0.2.5      munsell_0.5.0   
[21] yaml_2.1.19      compiler_3.5.0   pkgconfig_2.0.1  colorspace_1.3-2
[25] tidyselect_0.2.4 bindr_0.1.1      tibble_1.4.2  

1 个答案:

答案 0 :(得分:2)

我可以确认这种(奇怪的)行为。

例如,如果我们这样做

ggplot(DF) +
    geom_boxplot(
        aes(x = x, ymin = min, lower = low, middle = mid, upper = top, ymax = max, width = 0.1),
        stat = "identity", fill = "cornflowerblue")

我们收到警告

  

警告:忽略未知的美学因素:宽度

但实际上会改变宽度

enter image description here

如果将width = 0.1移到aes之外,则会收到警告,并且宽度不变不变。

相关帖子ggplot - width of boxplot from summary stats [duplicate]的评论表明情况并非总是如此。


样本数据

DF <- data.frame(
    x = c("2012","2016"),
    min = c(29.9,37.0),
    low = c(64.0,58.0),
    mid = c(108.0,73.0),
    top = c(168.0,108.0),
    max = c(258.0,199.0))