plotly / plotly/plotly.R

Targeting/Adding traces in subplot

Ouverte
#1,899 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
R
Étoiles
2.7k
Forks
641
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hi - I'm trying to add/change traces in a graph with subplots. Below the example code.

It looks like each subplot becomes one trace (based on playing with the restyle section), but it is unclear to me how to add/remove traces. I changed the addTraces number at the end to 0-3 but it always adds it to the first subplot.

Any help would be appreciated.


data <- tibble(runmonth=c(1,1,1,1,4,4,4,4),variable=c('a','a','b','b','a','a','b','b'),x=c(1:8),y=c(8:1),keyname=paste0('k',c(1:8)))

p <- data %>% group_by(runmonth,variable) %>%
  do(
    p = highlight_key(., ~keyname,group='scattergroup') %>%
      plot_ly(showlegend = FALSE) %>%
      add_markers(
        x = ~x, y = ~y
      )
  ) %>%
  subplot(
    nrows = 2, margin = 0.01,
    shareY = TRUE, shareX = TRUE, titleY = FALSE
  ) %>% toWebGL() %>%
  highlight(
    on = "plotly_selected",
    off = c('plotly_relayout')
  )


ui <- function(id) {
  div(
    actionButton('go','go'),
    plotlyOutput("scattergr")
  )
}

server <- function(input,output,session) {
  
  output$scattergr <- renderPlotly({p})
  
  observeEvent(input$go,{
    plotlyProxy("scattergr", session) %>%
      plotlyProxyInvoke(
        "restyle",
        list(
          'marker.symbol' = list(c(rep('triangle-up',1),'circle'))
        ),
        list(0,1,2,3)
      ) %>%
      plotlyProxyInvoke(
        "addTraces",
        list(
          x = c(50,60),
          y = c(50,60),
          mode = "scatter"
        ),1
      ) %>%
      plotlyProxyInvoke(
        "moveTraces",
        -1,0
      )
  })
  

}

runApp(shinyApp(ui, server))

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Utilisez la reproduction Shiny fournie comme point de départ, en vous concentrant sur les appels plotlyProxyInvoke à restyle, addTraces et moveTraces dans l’exemple de subplot. Déterminez le comportement attendu de l’indexation des traces pour les subplots et si le résultat doit être une correction du code ou une documentation plus claire ; le travail est terminé lorsque les traces demandées peuvent être ciblées de manière prévisible.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, r
Domaine
data-visualization
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.