我有一个带有几个节点的网络图,每个节点都有一些数据,包括ID和名称。我正在像这样构建visNetwork对象:
getDiagramPlot <- function(nodes, edges){ v <- visNetwork( nodes, edges ) %>% visPhysics(stabilization = TRUE, enabled = TRUE) %>% visOptions(highlightNearest = list(enabled = T, degree = 1, hover = F), autoResize = TRUE, collapse = FALSE) %>% visEdges(color = list(highlight = "red")) %>% # The colour of the edge linking nodes visLayout(improvedLayout = TRUE) %>% visEdges(arrows = edges$arrows) %>% visInteraction(multiselect = F) return(v) }
我想要的是能够通过管道传递
visEvents
并在我的代码中调用一个函数,理想情况下将ID作为参数传递。类似于:
testFunction <- function(node_id){ print(paste("The selected node ID is:", node_id)) }
我在网上看到的示例大多在其示例中使用javascript
alert()
,但我希望突破javascript并在代码中调用R函数。
任何帮助,我们将不胜感激!先感谢您。
我有一个带有几个节点的网络图,每个节点都有一些数据,包括ID和名称。我正在像这样构建visNetwork对象:getDiagramPlot
您可以在JavaScript中使用Shiny.onInputChange
将任何内容设置为Shiny输入变量。这可以解决问题。