小编Ran*_*jan的帖子

在 Networkd3 Sankey Chart (R/Shiny) 中返回节点名称

我的 R/Shiny 应用程序中有一个 networkd3 Sankey 图,它从 MySQL 连接中提取数据。我试图找到一种“深入”图表的方法 - 单击一个节点,这将返回该节点的名称。然后我将使用它来将另一个查询传递给数据库,该数据库将在应用程序中填充一个表。

这是我所拥有的 -

san <- sankeyNetwork(Links = sanData, Nodes = nodes, Source = "source",
    Target = "target", Value = "value")
Run Code Online (Sandbox Code Playgroud)

这绘制了运行良好的图表。

这是我迄今为止尝试过的 -
使用 R package htmlwidgets,并在我的桑基图上使用onRender运行以下 JS 脚本。

JS 脚本的占位符:

clickFun <- 'd3.selectAll(".link").on("click",function(d) {alert(d.value);})'
Run Code Online (Sandbox Code Playgroud)

在我的桑基输出中:
onRender(san, clickFun)

这会将链接的值作为警报返回。我尝试按照其他一些示例的建议使用".node"d.data.name,但我永远无法使其正常工作并且没有弹出警报。

以下是我的问题:
1. 如何在单击鼠标时从桑基图中检索节点的名称?
2. 假设我已经实现了上述目标,如何在闪亮的应用程序中使用我的 JS 脚本返回的值?我会将alert()位更改为return(),但我不知道如何在我的服务器应用程序中使用它。

javascript r shiny networkd3

4
推荐指数
1
解决办法
759
查看次数

标签 统计

javascript ×1

networkd3 ×1

r ×1

shiny ×1