plotly / plotly/plotly.R

distinguish links and nodes in sankeyPlot using event_data

Ouverte
#1,752 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

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

Description

I am building a sankey plot using plotly package with R within a Shiny application.
At some point, I use event_data function which returns an index pointNumber which is an integer ranging from 0 to the number of pairwise nodes relationships.
When performing sankeyPlot in plotly you have to specify the node and link arguments. The problem is that pointNumber provides an index which I cannot distinguish between the node or the link.
I would like the app could identify if the user clicks on a node or on a link.

Here is a toy example. Note that when clicking on node "A", pointNumber returns 0, and the same when clicking on link connecting node "A" and node "B".

library(plotly); library(shiny)
ui <- fluidPage(
  plotlyOutput("plot"),
  verbatimTextOutput("index")
)
server <- function(input, output){
  output$index <- renderPrint({
    event_data("plotly_click", source="sankeyPlot")
  })
  output$plot <- renderPlotly({
    plot_ly(
      source = "sankeyPlot",
      type = "sankey",
      arrangement = "fixed",
      node = list(label = c("A","B","C","D"), hoverinfo="none"),
      link = list(source=c(0,0,1,2), target=c(1,2,3,3), value=c(2,5,2,1), hoverinfo="none")
    )
  })
}
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

Commencez par l’exemple Shiny simple qui utilise event_data("plotly_click") sur le diagramme sankey et examinez le pointNumber renvoyé pour les clics sur les nœuds et les liens. Suivez la manière dont les événements de sankeyPlot sont représentés et déterminez comment les données renvoyées peuvent distinguer l’élément cliqué. Le travail est terminé lorsque l’application peut identifier de manière fiable si un clic cible un nœud ou un lien.

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

Évaluation

Stack technique
r
Domaine
data-visualization
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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