首页 > 解决方案 > 使用 visNetwork lib 在 R 中将节点制作为图像

问题描述

伙计们!我想在图表上插入图片而不是节点。我在 vis.js 引擎上使用了 visNetwork 库。在搜索答案时,我找到了文章https://datastorm-open.github.io/visNetwork/image_icon.html,但我尝试自己重复编写代码,不幸的是它没有在 Rstudio 中将节点绘制为图像。

 setwd("/home/user/")
 path_to_images<-"Images/"
 nodes <- data.frame(id = 1:4, 
            shape = c("image", "circularImage"),
            image = paste0(path_to_images, 1:4, ".png"),
            label = "I'm an image")

 edges <- data.frame(from = c(2,4,3,3), to = c(1,2,4,2))

 visNetwork(nodes, edges, width = "100%") %>% 
     visNodes(shapeProperties = list(useBorderWithImage = TRUE)) %>%
     visLayout(randomSeed = 2)

也许问题出在图像的本地路径中?等回复,谢谢!)

标签: rimagevisnetwork

解决方案


我已经找到了我的问题的答案。在我看来,问题出在图像的路径上。我在我的 ubuntu 18.04 上安装了 apache2 服务器并创建了一个包含照片的目录,然后我刚刚更改了“http:127.0.0.1/Images/”上的 path_to_images 变量并在 visNodes 中添加了一个 brokenImage 选项:

 visNetwork(nodes, edges, width = "100%") %>%
     visNodes(shapeProperties = list(useBorderWithImage = TRUE),
              brokenImage="http://localhost/Images/erroe.png") %>%
     visLayout(randomSeed = 2)

它终于开始工作了!)


推荐阅读