Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中悬停在networkD3图形中时如何消除淡入淡出_Networkd3_R_Javascript_D3.js_Htmlwidgets - Fatal编程技术网

在R中悬停在networkD3图形中时如何消除淡入淡出

在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",

我一直在看在中使用的示例

我想知道是否有可能消除悬停效果,当你将鼠标悬停在图形中的某个节点上时,其他一切都会消失?请参见中的“与igraph交互”


我查看了软件包文档,但似乎没有任何选项可以删除悬停效果。谢谢

这里有一个解决方案。它要求您编辑关联的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
参数,使标签始终不透明。如果您希望在鼠标上执行默认操作以外的某些/任何操作(而不是不执行任何操作),则必须使用新的鼠标覆盖功能。