R visNetwork:如何将标签设置为粗体并增加标签周围的边距

cut*_*h44 6 r visnetwork

我使用该包创建了一个网络图visNetwork(抱歉,我对其他语言知之甚少)。

我想要两点(请看左下图)

  1. 使标签加粗。
  2. 增加标签和边框之间的空间。

我可以用 R 来做吗?

任何帮助将不胜感激。下面是示例代码和输出:

library(dplyr); library(visNetwork)

visNetwork(nodes = data_frame(id = 1:3, 
                              label = c("abcdef", "xxx", "y"),
                              shape = "box"),
           edges = data_frame(from = c(1, 1, 2),
                              to = c(2, 3, 3),
                              arrows = "to")) %>% 
  visNodes(font = list(size = 17),
           color = list(background = "aliceblue", border = "darkblue")) %>% 
  visEdges(width = 2) %>% 
  visIgraphLayout(layout = "layout_nicely")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述在此输入图像描述

小智 0

我在 StackOverflow 上的第一篇文章。通过搜索非 R(即 Vis.js)解决方案并进行一些调整以使其在 R 中工作找到了此解决方案 。Vis.js - 将图形标签的字体设置为粗体

第 1 步:将标签包含在 HTML 代码中,<b></b>在本例中是因为您希望它们加粗。例如mutate(label = paste0("<b>", label, "</b>"))

步骤 2:通过包含在 visNodes() 中,启用在标签中显示 html 元素multi = "html"

下面的代码将使您的标签变为粗体:

library(dplyr); library(visNetwork)

visNetwork(nodes = data_frame(id = 1:3, 
                              label = c("<b>abcdef</b>", "<b>xxx</b>", "<b>y</b>"),
                              shape = "box"),
           edges = data_frame(from = c(1, 1, 2),
                              to = c(2, 3, 3),
                              arrows = "to")) %>% 
  visNodes(font = list(size = 17, multi = "html"),
           color = list(background = "aliceblue", border = "darkblue")) %>% 
  visEdges(width = 2) %>% 
  visIgraphLayout(layout = "layout_nicely")
Run Code Online (Sandbox Code Playgroud)