[英]Display Edge Label only when Hovering Over it with Cursor - VisNetwork Igraph
[英]remove node and edge label from visNetwork visualiztion and display info when click on nodes and edges
我使用 visNetwork 来可视化我的网络。 下面是代码(从 visNetwork cran page 借来的)。 我的问题是:
library(igraph)
library(visNetwork)
nodes <- data.frame(id = 1:10,
label = paste("Node", 1:10),
group = c("GrA", "GrB"),
value = 1:10,
shape = c("square", "triangle", "box", "circle", "dot", "star",
"ellipse", "database", "text", "diamond"),
title = paste0("<p><b>", 1:10,"</b><br>", paste("Node", 1:10),"</p>"),
color = c("darkred", "grey", "orange", "darkblue", "purple"),
shadow = c(FALSE, TRUE, FALSE, TRUE, TRUE))
edges <- data.frame(from = sample(1:10, 8), to = sample(1:10, 8),
label = paste("Edge", 1:8),
length = c(100,500),
arrows = c("to", "from", "middle", "middle;to"),
dashes = c(TRUE, FALSE),
title = paste("Edge", 1:8),
smooth = c(FALSE, TRUE),
shadow = c(FALSE, TRUE, FALSE, TRUE))
g <- graph_from_data_frame(d = edges, vertices = nodes)
visIgraph(g)
您可以使用font.size
参数完成 1.(见下文)。 关于 2. 和 3., title
的visNodes
文档读取
默认为未定义。 当用户悬停在节点上时显示的标题。 标题可以是 HTML 元素或包含纯文本或 HTML 的字符串。
我想你可以通过调整title
的 html 来完成你想要的 3 ,就像我在下面所做的那样。
nodes <- data.frame(id = 1:10,
label = paste("Node", 1:10),
group = c("GrA", "GrB"),
value = 1:10,
shape = c("square", "triangle", "box", "circle", "dot", "star",
"ellipse", "database", "text", "diamond"),
title = paste0("<p><b style='font-size: 40px'>", 1:10,"</b><br>", paste("Node", 1:10),"</p>"),
color = c("darkred", "grey", "orange", "darkblue", "purple"),
shadow = c(FALSE, TRUE, FALSE, TRUE, TRUE),
font.size = c(0, 0, 0, 0, 0))
edges <- data.frame(from = sample(1:10, 8), to = sample(1:10, 8),
label = paste("Edge", 1:8),
length = c(100,500),
arrows = c("to", "from", "middle", "middle;to"),
dashes = c(TRUE, FALSE),
title = paste("Edge", 1:8),
smooth = c(FALSE, TRUE),
shadow = c(FALSE, TRUE, FALSE, TRUE),
font.size = c(0, 0, 0, 0))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.