有没有办法使Force Network D3标签永久保留而不是悬停?

时间:2019-12-16 15:35:37

标签: r networkd3

这是我的程序:

networkD3::forceNetwork(Links = links.d3, Nodes = nodes.d3,
                        Source = "from", Target = "to", 
                        NodeID = "node_id", Group = "group_id",
                        zoom = TRUE, opacity = 1.0, legend = TRUE,
                        fontSize = 12)

然后我尝试了: onRender(network, "function(el,x) { d3.selectAll('.node').on('mouseover', null); }")

这只会一起删除标签。理想情况下,当我将鼠标悬停在某个节点上之后,我希望能够单击该节点,然后保留该节点的标签。

谢谢!!

1 个答案:

答案 0 :(得分:0)

使用opacityNoHover = 1作为forceNetwork()函数的参数。此选项和所有其他选项在帮助文件中(在控制台中键入?networkD3::forceNetwork)。这将使所有标签始终可见。

如果要防止在将鼠标移离节点时标签消失,只需修改代码以使mouseout事件而不是mouseover事件为空... onRender(network, "function(el,x) { d3.selectAll('.node').on('mouseout', null); }")