`updatemenus` > `buttons` don't behave as expected when restyling `y` axis (ignores `color` channel)
Abierto
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- R
- Estrellas
- 2.7k
- Forks
- 641
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
library(plotly)
dat <- structure(list(date = structure(c(1230768000, 1230771600, 1230775200,
1230778800, 1230782400, 1230786000, 1230789600, 1230793200, 1230796800,
1230800400, 1230768000, 1230771600, 1230775200, 1230778800, 1230782400,
1230786000, 1230789600, 1230793200, 1230796800, 1230800400, 1230768000,
1230771600, 1230775200, 1230778800, 1230782400, 1230786000, 1230789600,
1230793200, 1230796800, 1230800400, 1230768000, 1230771600, 1230775200,
1230778800, 1230782400, 1230786000, 1230789600, 1230793200, 1230796800,
1230800400), tzone = "GMT", class = c("POSIXct", "POSIXt")),
nox = c(113, 40, 48, 36, 40, 50, 50, 53, 80, 111, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, 130, 63, 76, 69, 61, 61,
61, 92, 57, 50, 31, 34, 27, 19, 21, 25, 19, 31, 42, 48),
pm10 = c(46, 49, 46, NA, 38, 32, 36, 32, 30, 32, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, 53, 46, 45, 43, 37, 35, 37,
38, 33, 31, 44, 39, 40, 35, 34, 30, 28, 31, 29, 27), site = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), levels = c("1", "2",
"3", "4"), class = "factor")), row.names = c(NA, -40L), class = c("tbl_df",
"tbl", "data.frame"))
plot_ly(x = dat$date, y = dat$nox) |>
add_lines(color = dat$site) |>
layout(updatemenus = list(list(
type = "buttons",
y = 0.8,
buttons = list(
list(
method = "restyle",
args = list("y", list(dat$nox)),
label = "NO<sub>x</sub>"
),
list(
method = "restyle",
args = list("y", list(dat$pm10)),
label = "PM<sub>10</sub>"
)
)
)))
I would imagine that clicking the "NOx" button would do effectively nothing, but instead it seems to strip away the color feature of the plot.
Before clicking:
After clicking:
Am I doing something wrong, or is this a bug?
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza ejecutando la reproducción de R proporcionada con plot_ly(), add_lines(color = dat$site) y los botones de layout updatemenus que llaman a restyle sobre y. Rastrea cómo afecta ese restyle a las trazas coloreadas; estará terminado cuando cambiar entre NOx y PM10 cambie los datos de y sin eliminar la agrupación por color de site.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- r
- Área
- data-visualization
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100