Skip to content

Incorrect z-ordering with geom_errorbarh #513

@humburg

Description

@humburg

I've encountered a problem where layers appear in the wrong order when using geom_errorbarh to plot error bars. Consider the following example:

library(plotly)

df <- data.frame(x=1:5, y=1:5, left=0:4, right=2:6, label=letters[1:5], 
                 group=factor(c('one', 'one', 'two', 'two', 'one')))
fig1 <- ggplot(df, aes(x=x, y=y, text=label, colour=group)) + 
  geom_rect(fill='lightgrey', colour='lightgrey', xmin=3, xmax=4, ymin=-4, ymax=7) +
  geom_errorbarh(aes(xmin=left, xmax=right)) + geom_point() +
  theme_bw()

fig1  ## works as expected
ggplotly(fig1)  ## The grey rectangle is plotted above the error bars instead of below them

A workaround is to use geom_segment instead

fig2 <- ggplot(df, aes(x=x, y=y, text=label, colour=group)) + 
  geom_rect(fill='lightgrey', colour='lightgrey', xmin=3, xmax=4, ymin=-4, ymax=7) +
  geom_segment(aes(x=left, xend=right, yend=y)) + geom_point() +
  theme_bw()

ggplotly(fig2)  ## works

Here is the output from devtools::session_info()

Session info ------------------------------------------------------------------------------------------------------------------------------------------------------------
 setting  value                       
 version  R version 3.2.3 (2015-12-10)
 system   x86_64, mingw32             
 ui       RStudio (0.99.489)          
 language (EN)                        
 collate  English_Australia.1252      
 tz       Australia/Sydney            
 date     2016-03-16                  

Packages ----------------------------------------------------------------------------------------------------------------------------------------------------------------
 package     * version     date       source                          
 assertthat    0.1         2013-12-06 CRAN (R 3.2.0)                  
 base64enc     0.1-3       2015-07-28 CRAN (R 3.2.3)                  
 colorspace    1.2-6       2015-03-11 CRAN (R 3.2.1)                  
 curl          0.9.6       2016-02-17 CRAN (R 3.2.3)                  
 DBI           0.3.1       2014-09-24 CRAN (R 3.2.0)                  
 devtools      1.10.0.9000 2016-02-22 Github (hadley/devtools@24728f7)
 digest        0.6.9       2016-01-08 CRAN (R 3.2.3)                  
 dplyr         0.4.3       2015-09-01 CRAN (R 3.2.3)                  
 ggplot2     * 2.1.0       2016-03-01 CRAN (R 3.2.3)                  
 git2r         0.13.1      2015-12-10 CRAN (R 3.2.3)                  
 gridExtra     2.2.1       2016-02-29 CRAN (R 3.2.3)                  
 gtable        0.2.0       2016-02-26 CRAN (R 3.2.3)                  
 htmltools     0.3         2015-12-29 CRAN (R 3.2.3)                  
 htmlwidgets   0.6         2016-02-25 CRAN (R 3.2.3)                  
 httr          1.1.0       2016-01-28 CRAN (R 3.2.3)                  
 jsonlite      0.9.19      2015-11-28 CRAN (R 3.2.3)                  
 knitr         1.12.3      2016-01-22 CRAN (R 3.2.3)                  
 labeling      0.3         2014-08-23 CRAN (R 3.2.0)                  
 magrittr      1.5         2014-11-22 CRAN (R 3.2.0)                  
 memoise       1.0.0       2016-01-29 CRAN (R 3.2.3)                  
 munsell       0.4.3       2016-02-13 CRAN (R 3.2.3)                  
 plotly      * 3.4.3       2016-03-16 Github (ropensci/plotly@908cbf1)
 plyr          1.8.3       2015-06-12 CRAN (R 3.2.0)                  
 R6            2.1.2       2016-01-26 CRAN (R 3.2.3)                  
 Rcpp          0.12.3      2016-01-10 CRAN (R 3.2.3)                  
 scales        0.4.0       2016-02-26 CRAN (R 3.2.3)                  
 tidyr         0.4.1       2016-02-05 CRAN (R 3.2.3)                  
 viridis       0.3.4       2016-03-12 CRAN (R 3.2.4)                  
 withr         1.0.1       2016-02-04 CRAN (R 3.2.3)                  
 yaml          2.1.13      2014-06-12 CRAN (R 3.2.0)  

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions