ggplot2警告:当ymin!= 0时堆栈没有很好地定义

时间:2013-10-20 19:11:35

标签: r ggplot2

或许答案就是警告。我正在使用缩放和居中的变量来观察观察结果与平均值的差异。这个情节是一种常见的做法。但是当我这样做时,我会收到来自ggplot2的警告。

Warning messages:
1: Stacking not well defined when ymin != 0 

我喜欢让ggplot2和世界其他地方感到高兴,并没有任何警告。我试图通过以下方式摆脱警告,并搜索相关问题的SO(请参阅底部的链接以获得一些更有希望的问题)。我的朋友ggplot2仍警告我。

问题:

  1. 如何让警告消失?
  2. 我可以忽略警告吗?
  3. 这种做法有问题吗?
  4. 代码尝试:

    ## The data
    mtcars$scaled_mpg <- unlist(tapply(mtcars$mpg, mtcars$cyl, scale))
    mtcars <- mtcars[order(mtcars$cyl), ]
    mtcars$ID <- unlist(tapply(mtcars$cyl, mtcars$cyl, seq_along))
    mtcars$ID <- factor(sprintf("%02d", mtcars$ID ))
    
    ##  ================ Attempt 1 ================   
    ggplot(mtcars, aes(x = ID, y = scaled_mpg, fill = factor(cyl))) +
        geom_bar(stat="identity") + facet_grid(cyl~.)
    
    ##  ================ Attempt 2 ================     
    ggplot(mtcars, aes(x = ID, fill = factor(cyl))) +
        geom_bar(aes(weight = scaled_mpg)) + facet_grid(cyl~.)
    
    ##  ================ Attempt 3 ================  
    dat1 <- subset(mtcars, scaled_mpg >= 0)
    dat2 <- subset(mtcars, scaled_mpg < 0)
    
    ggplot() +
        geom_bar(data = dat1, aes(x = ID, y = scaled_mpg, 
            fill = factor(cyl)),stat = "identity") +
        geom_bar(data = dat2, aes(x = ID, y = scaled_mpg, 
            fill= factor(cyl)),stat = "identity") + 
        facet_grid(cyl~.)
    

    情节:

    enter image description here

    类似帖子:

1 个答案:

答案 0 :(得分:29)

1)adding position = "identity"geom_bar,或者当然,使用

suppressWarnings(print(ggplot(...)))

2-3)考虑技术方面 - 是的,你可以忽略它。此警告的reason与解释条形图具有负高度而不仅仅是负值有关。