在R中悬停在networkD3图形中时如何消除淡入淡出
我一直在看在中使用的示例 我想知道是否有可能消除悬停效果,当你将鼠标悬停在图形中的某个节点上时,其他一切都会消失?请参见中的“与igraph交互”在R中悬停在networkD3图形中时如何消除淡入淡出,networkd3,r,javascript,d3.js,htmlwidgets,Networkd3,R,Javascript,D3.js,Htmlwidgets,我一直在看在中使用的示例 我想知道是否有可能消除悬停效果,当你将鼠标悬停在图形中的某个节点上时,其他一切都会消失?请参见中的“与igraph交互” 我查看了软件包文档,但似乎没有任何选项可以删除悬停效果。谢谢 这里有一个解决方案。它要求您编辑关联的JS文件。我不相信有更简单的方法来解决这个问题。不过,您可以使用下面的代码轻松创建函数 # Load package library(networkD3) # Create a network graph. src <- c("A", "A",
我查看了软件包文档,但似乎没有任何选项可以删除悬停效果。谢谢 这里有一个解决方案。它要求您编辑关联的JS文件。我不相信有更简单的方法来解决这个问题。不过,您可以使用下面的代码轻松创建函数
# Load package
library(networkD3)
# Create a network graph.
src <- c("A", "A", "A", "A",
"B", "B", "C", "C", "D")
target <- c("B", "C", "D", "J",
"E", "F", "G", "H", "I")
networkData <- data.frame(src, target)
# Create widget.
widget <- simpleNetwork(networkData)
# Define (temporary) path to where the widget will be saved.
file <- tempfile(pattern = "file", tmpdir = dir <- tempdir(), fileext = ".html")
# Save widget.
htmlwidgets::saveWidget(widget, file = file, selfcontained = FALSE)
# Define path to where js file is we want to edit.
js_path <- paste0(dir, "/", gsub(".*\\\\|\\..*", "", file), "_files/forceNetwork-binding-0.4/forceNetwork.js")
# Read in JS file.
js <- readLines(js_path)
# Edit relevant line so that no transparency occurs on hover.
js <- gsub("var unfocusDivisor = 4;", "var unfocusDivisor = 1;", js)
writeLines(js, con = js_path)
# Open graph
browseURL(paste0("file://", file))
#加载包
图书馆(网络3)
#创建一个网络图。
src我认为最简单的方法是禁用mouseover功能
library(networkD3)
library(htmlwidgets)
fn <- forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
Group = "group", opacity = 1)
onRender(fn, "function(el,x) { d3.selectAll('.node').on('mouseover', null); }")
库(networkD3)
库(htmlwidgets)
fn这不是一个内置功能,而是一个合理的建议。。。您可以通过“谢谢”提交功能请求。我尝试了这个方法,虽然它删除了悬停时的透明度,但也删除了悬停时的标签。我想保留标签。您可以添加opacityNoHover=1
参数,使标签始终不透明。如果您希望在鼠标上执行默认操作以外的某些/任何操作(而不是不执行任何操作),则必须使用新的鼠标覆盖功能。