plotly / plotly/plotly.R

Line disappears when adding error bars

Open
#2,159 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
2.7k
Forks
641
PR merge metrics
No merged PRs in 30d

Description

When I plot a geom_line() and then add a geom_errorbar(), the line disappears. If I put the geom_errorbar() first, and then add the line, both appear.

Reprex
library(tidyverse)
library(plotly)
#> 
#> Attaching package: 'plotly'
#> The following object is masked from 'package:ggplot2':
#> 
#>     last_plot
#> The following object is masked from 'package:stats':
#> 
#>     filter
#> The following object is masked from 'package:graphics':
#> 
#>     layout

## create data set
data <- tibble(
  x = 1:10,
  y = 1.5 * x + 2,
  ymax = y + 0.25,
  ymin = y - 0.25
)

## plot data with line and error bars
p1 <- ggplot(data, aes(x = x, y = y, ymin = ymin, ymax = ymax)) +
  geom_line() +
  geom_errorbar()

p2 <- ggplot(data, aes(x = x, y = y, ymin = ymin, ymax = ymax)) +
  geom_errorbar() +
  geom_line()
  
## ggplot version (shows line with error bars)
p1

## plotly version (line is missing)
ggplotly(p1)

## alternate ggplot version (line and error bars)
p2

## alternate plotly version (shows line and error bars)
ggplotly(p2)

Created on 2022-07-11 by the reprex package (v2.0.1)

Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value
#>  version  R version 4.2.0 (2022-04-22 ucrt)
#>  os       Windows 10 x64 (build 19044)
#>  system   x86_64, mingw32
#>  ui       RTerm
#>  language (EN)
#>  collate  English_United States.utf8
#>  ctype    English_United States.utf8
#>  tz       America/Chicago
#>  date     2022-07-11
#>  pandoc   2.18 @ C:/Users/Jonathan/AppData/Local/Pandoc/ (via rmarkdown)
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package     * version     date (UTC) lib source
#>  assertthat    0.2.1       2019-03-21 [1] CRAN (R 4.2.0)
#>  backports     1.4.1       2021-12-13 [1] CRAN (R 4.2.0)
#>  broom         1.0.0       2022-07-01 [1] CRAN (R 4.2.0)
#>  callr         3.7.0       2021-04-20 [1] CRAN (R 4.2.0)
#>  cellranger    1.1.0       2016-07-27 [1] CRAN (R 4.2.0)
#>  cli           3.3.0       2022-04-25 [1] CRAN (R 4.2.0)
#>  colorspace    2.0-3       2022-02-21 [1] CRAN (R 4.2.0)
#>  crayon        1.5.1       2022-03-26 [1] CRAN (R 4.2.0)
#>  crosstalk     1.2.0       2021-11-04 [1] CRAN (R 4.2.0)
#>  curl          4.3.2       2021-06-23 [1] CRAN (R 4.2.0)
#>  data.table    1.14.2      2021-09-27 [1] CRAN (R 4.2.0)
#>  DBI           1.1.3       2022-06-18 [1] CRAN (R 4.2.0)
#>  dbplyr        2.2.1       2022-06-27 [1] CRAN (R 4.2.1)
#>  digest        0.6.29      2021-12-01 [1] CRAN (R 4.2.0)
#>  dplyr       * 1.0.9       2022-04-28 [1] CRAN (R 4.2.0)
#>  ellipsis      0.3.2       2021-04-29 [1] CRAN (R 4.2.0)
#>  evaluate      0.15        2022-02-18 [1] CRAN (R 4.2.0)
#>  fansi         1.0.3       2022-03-24 [1] CRAN (R 4.2.0)
#>  farver        2.1.1       2022-07-06 [1] CRAN (R 4.2.1)
#>  fastmap       1.1.0       2021-01-25 [1] CRAN (R 4.2.0)
#>  forcats     * 0.5.1       2021-01-27 [1] CRAN (R 4.2.0)
#>  fs            1.5.2       2021-12-08 [1] CRAN (R 4.2.0)
#>  generics      0.1.3       2022-07-05 [1] CRAN (R 4.2.1)
#>  ggplot2     * 3.3.6       2022-05-03 [1] CRAN (R 4.2.0)
#>  glue          1.6.2       2022-02-24 [1] CRAN (R 4.2.0)
#>  gtable        0.3.0       2019-03-25 [1] CRAN (R 4.2.0)
#>  haven         2.5.0       2022-04-15 [1] CRAN (R 4.2.0)
#>  highr         0.9         2021-04-16 [1] CRAN (R 4.2.0)
#>  hms           1.1.1       2021-09-26 [1] CRAN (R 4.2.0)
#>  htmltools     0.5.2       2021-08-25 [1] CRAN (R 4.2.0)
#>  htmlwidgets   1.5.4       2021-09-08 [1] CRAN (R 4.2.0)
#>  httr          1.4.3       2022-05-04 [1] CRAN (R 4.2.0)
#>  jsonlite      1.8.0       2022-02-22 [1] CRAN (R 4.2.0)
#>  knitr         1.39        2022-04-26 [1] CRAN (R 4.2.0)
#>  labeling      0.4.2       2020-10-20 [1] CRAN (R 4.2.0)
#>  lazyeval      0.2.2       2019-03-15 [1] CRAN (R 4.2.0)
#>  lifecycle     1.0.1       2021-09-24 [1] CRAN (R 4.2.0)
#>  lubridate     1.8.0       2021-10-07 [1] CRAN (R 4.2.0)
#>  magrittr      2.0.3       2022-03-30 [1] CRAN (R 4.2.0)
#>  mime          0.12        2021-09-28 [1] CRAN (R 4.2.0)
#>  modelr        0.1.8       2020-05-19 [1] CRAN (R 4.2.0)
#>  munsell       0.5.0       2018-06-12 [1] CRAN (R 4.2.0)
#>  pillar        1.7.0       2022-02-01 [1] CRAN (R 4.2.0)
#>  pkgconfig     2.0.3       2019-09-22 [1] CRAN (R 4.2.0)
#>  plotly      * 4.10.0      2021-10-09 [1] CRAN (R 4.2.0)
#>  processx      3.7.0       2022-07-07 [1] CRAN (R 4.2.1)
#>  ps            1.7.1       2022-06-18 [1] CRAN (R 4.2.0)
#>  purrr       * 0.3.4       2020-04-17 [1] CRAN (R 4.2.0)
#>  R.cache       0.15.0      2021-04-30 [1] CRAN (R 4.2.0)
#>  R.methodsS3   1.8.2       2022-06-13 [1] CRAN (R 4.2.0)
#>  R.oo          1.25.0      2022-06-12 [1] CRAN (R 4.2.0)
#>  R.utils       2.12.0      2022-06-28 [1] CRAN (R 4.2.1)
#>  R6            2.5.1       2021-08-19 [1] CRAN (R 4.2.0)
#>  readr       * 2.1.2       2022-01-30 [1] CRAN (R 4.2.0)
#>  readxl        1.4.0       2022-03-28 [1] CRAN (R 4.2.0)
#>  reprex        2.0.1       2021-08-05 [1] CRAN (R 4.2.0)
#>  rlang         1.0.3       2022-06-27 [1] CRAN (R 4.2.1)
#>  rmarkdown     2.14.1.9000 2022-05-05 [1] local
#>  rstudioapi    0.13.0-9000 2022-04-24 [1] Github (rstudio/rstudioapi@6b67a15)
#>  rvest         1.0.2       2021-10-16 [1] CRAN (R 4.2.0)
#>  scales        1.2.0       2022-04-13 [1] CRAN (R 4.2.0)
#>  sessioninfo   1.2.2       2021-12-06 [1] CRAN (R 4.2.0)
#>  stringi       1.7.8       2022-07-11 [1] CRAN (R 4.2.0)
#>  stringr     * 1.4.0       2019-02-10 [1] CRAN (R 4.2.0)
#>  styler        1.7.0       2022-03-13 [1] CRAN (R 4.2.0)
#>  tibble      * 3.1.7       2022-05-03 [1] CRAN (R 4.2.0)
#>  tidyr       * 1.2.0       2022-02-01 [1] CRAN (R 4.2.0)
#>  tidyselect    1.1.2       2022-02-21 [1] CRAN (R 4.2.0)
#>  tidyverse   * 1.3.1       2021-04-15 [1] CRAN (R 4.2.0)
#>  tzdb          0.3.0       2022-03-28 [1] CRAN (R 4.2.0)
#>  utf8          1.2.2       2021-07-24 [1] CRAN (R 4.2.0)
#>  vctrs         0.4.1       2022-04-13 [1] CRAN (R 4.2.0)
#>  viridisLite   0.4.0       2021-04-13 [1] CRAN (R 4.2.0)
#>  webshot       0.5.3       2022-04-14 [1] CRAN (R 4.2.0)
#>  withr         2.5.0       2022-03-03 [1] CRAN (R 4.2.0)
#>  xfun          0.31        2022-05-10 [1] CRAN (R 4.2.0)
#>  xml2          1.3.3       2021-11-30 [1] CRAN (R 4.2.0)
#>  yaml          2.3.5       2022-02-21 [1] CRAN (R 4.2.0)
#> 
#>  [1] C:/Users/Jonathan/AppData/Local/R/win-library/4.2
#>  [2] C:/Program Files/R/R-4.2.0/library
#> 
#> ──────────────────────────────────────────────────────────────────────────────

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Run the supplied reprex with ggplotly() and compare the outputs for p1 and p2. Trace how ggplotly() converts geom_line() and geom_errorbar() when their layer order changes. Done means the line remains visible regardless of layer order and the supplied example no longer reproduces the bug.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
data-visualization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.