直接向VisNetwork添加标题和标签 [英] Directly Adding Titles and Labels to Visnetwork

查看:12
本文介绍了直接向VisNetwork添加标题和标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下网络图:

library(tidyverse)
library(igraph)


set.seed(123)
n=15
data = data.frame(tibble(d = paste(1:n)))

relations = data.frame(tibble(
  from = sample(data$d),
  to = lead(from, default=from[1]),
))

data$name = c("new york", "chicago", "los angeles", "orlando", "houston", "seattle", "washington", "baltimore", "atlanta", "las vegas", "oakland", "phoenix", "kansas", "miami", "newark" )

graph = graph_from_data_frame(relations, directed=T, vertices = data) 

V(graph)$color <- ifelse(data$d == relations$from[1], "red", "orange")

plot(graph, layout=layout.circle, edge.arrow.size = 0.2, main = "my_graph")

我能够将此图表转换为";visNetwork";图表:

library(visNetwork)

visIgraph(graph)

现在,我正在尝试在此图表中添加标题:

visIgraph(graph, main = "my title")

尽管这不起作用:

Error in layout_with_fr(graph, dim = dim, ...) : 
  unused argument (main = "my title")

我找到了此链接https://datastorm-open.github.io/visNetwork/legend.html,它显示了如何将标题添加到VisNetwork&Quot;图表:

nodes <- data.frame(id = 1:3, group = c("B", "A", "B"))
edges <- data.frame(from = c(1,2), to = c(2,3))

# default, on group
visNetwork(nodes, edges, 
           main = "A really simple example", 
           submain = list(text = "Custom subtitle",
                          style = "font-family:Comic Sans MS;color:#ff0000;font-size:15px;text-align:center;"), 
           footer = "Fig.1 minimal example",
           width = "100%")

这似乎非常简单,但它要求您使用";visNetwork()";函数,而不是";visIgraph()";函数。

  • 是否可以使用";visIgraph()";函数直接添加标题?

谢谢!

推荐答案

如果您愿意,我们可以尝试此方法

toVisNetworkData(graph) %>%
  c(list(main = "my title")) %>%
  do.call(visNetwork, .)

toVisNetworkData(graph) %>%
  {
    do.call(visNetwork, c(., list(main = "my title", submain = "subtitle")))
  }

您将看到

这篇关于直接向VisNetwork添加标题和标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆