gpt4 book ai didi

javascript - networkD3 的 forceNetwork 和 htmlwidgets 中的链接(不是节点)工具提示

转载 作者:行者123 更新时间:2023-11-30 20:56:37 25 4
gpt4 key购买 nike

我搜索了一种使用 forceNetwork 将工具提示附加到节点之间的链接(即边)的方法,但没有找到任何结果。这些是我发现的最相关的示例:

那么如何为强制网络链接添加工具提示呢?是否可以?我看到 forceNetwork 有一个 clickAction 属性,您可以使用它来调用带有 htmlwidgets 的 JS。不幸的是,clickAction 似乎作用于节点,而不是它们之间的链接。

这是我的可重现示例:

library(networkD3)
library(htmlwidgets)

# Load data
data(MisLinks)
data(MisNodes)

# Make network using sample data
fn <- forceNetwork(
Links = MisLinks, Nodes = MisNodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
Group = "group"
)

# Get the target variable in fn$x$links (an integer id) to show up as a tooltip when user hovers over a link (i.e. edge) in the graph
fnrender <- htmlwidgets::onRender(
fn,
'
function(el, x) {
d3.selectAll(".link").select("title")
.text(function(d) { return d.target; });
}
'
)

# display the result
fnrender

我的目标是让一个字符串变量描述两个节点之间的关系,当用户将鼠标悬停在它们之间的链接上时。任何关于如何前进的建议将不胜感激。

最佳答案

您必须“附加”标题...

library(networkD3)
library(htmlwidgets)

# Load data
data(MisLinks)
data(MisNodes)

# Make network using sample data
fn <- forceNetwork(
Links = MisLinks, Nodes = MisNodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
Group = "group"
)

# Get the target variable in fn$x$links (an integer id) to show up as a tooltip when user hovers over a link (i.e. edge) in the graph
fnrender <- htmlwidgets::onRender(
fn,
'
function(el, x) {
d3.selectAll(".link").append("svg:title")
.text(function(d) { return d.source.name + " -> " + d.target.name; })
}
'
)

# display the result
fnrender

关于javascript - networkD3 的 forceNetwork 和 htmlwidgets 中的链接(不是节点)工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47591824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com