`selectedpoints` does not function properly when a vector is passed using `plotlyProxy` & `"restyle"`.
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- r
- Domaine
- data-visualization
Piste de recherche
Commencez par exécuter l’exemple reproductible R Shiny fourni et comparez plotlyProxyInvoke avec selected_rows contenant c(1) à c(1, 1). Suivez la mise à jour de selectedpoints via l’appel "restyle" de plotlyProxy ; c’est terminé lorsqu’un vecteur à valeur unique sélectionne le point sans duplication.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Bug/Unexpected Behavior
When updating a scatter plot's selectedpoints in a Shiny server using "restyle" on a plotlyProxy, single value vectors don't update the graph. E.g., passing c(1) to selectedpoints won't update the graph.
However, if we duplicate this value, e.g., c(1, 1) and pass it to selectedpoints, the 1 point will be selected.
Reproducible example:
# selected points single value incorrect behavior
library(shiny)
ui <- fluidPage(fluidRow(plotly::plotlyOutput("graph"),
DT::DTOutput("table")))
server <- function(input, output, session) {
output$table <- DT::renderDT({
cars
})
output$graph <- plotly::renderPlotly({
plotly::plot_ly(
cars,
x = ~ speed,
y = ~ dist,
selected = list(marker = list(color = "red")),
type = "scatter",
mode = "markers",
source = "graph"
) %>%
plotly::layout(dragmode = "select",
clickmode = "event+select") %>%
plotly::event_register("plotly_selected")
})
plot_proxy <- plotly::plotlyProxy("graph")
table_proxy <- DT::dataTableProxy("table")
selected <-
reactive({
plotly::event_data("plotly_selected", source = "graph")
})
observeEvent(selected(), {
selected <- selected()$pointNumber + 1
table_proxy %>% DT::selectRows(selected)
})
observeEvent(input$table_cell_clicked, {
selected_rows <- input$table_rows_selected - 1
#### comment this conditional to see the bug ####
if (length(selected_rows) == 1) {
selected_rows <- rep(selected_rows, 2)
}
#### end comment this conditional to see the bug ####
plotly::plotlyProxyInvoke(
plotly::plotlyProxy("graph", session),
"restyle",
list(selectedpoints = list(selected_rows)),
0
)
})
}
shinyApp(ui, server)
- Langage dominant
- R
- Étoiles
- 2.7k
- Forks
- 641
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de plotly/plotly.R
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
-
Data gets dropped in add_trace and consequently points have the wrong color if NA is present Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
-
save_image Error Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 52/100
Toutes les issues de plotly/plotly.R
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
robjhyndman/forecast#1220 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
JamesHWade/deputy#192 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
bug triage_needed
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
pharmaverse/rtables#1123 · 1 commentaire · 1 réaction ·