我目前正在开发一个使用 VisNetwork 框架生成网络图的 R/Shiny 应用程序。我的同事需要我将生成的图导出到 Gephi。我已经查看了所有可能的选项,但没有一个是理想的。将 VisNetwork 图导出到 Gephi 的最佳方法是什么?
节点颜色、线宽、背景颜色……都无所谓——事实上,一般的审美并不重要。我们要做的是简单地将数据导出到 Gephi。一旦我们将这些数据加载到 Gephi 中,我们应该会得到一个类似的图,尽管有不同的美感。
现在,有不同的选项可以将文件加载到 Gephi 中。当我们查看Gephi 的文档时,我们可以看到最佳格式是GEFX(具有边缘权重、层次结构和 XML 结构)或CSV(具有边缘列表/矩阵结构)。
但是,VisNetwork 不允许导出到这些格式。
Gephi 可以导出一个 JSon 文件,然后可以使用 VisNetwork 打开该文件 - 但似乎相反是不可能的。确实,VisNetwork 有这个功能visNetwork(gephi = 'network.json')
,但它似乎不允许导出 json 文件,只允许导入。
VisNetwork 也提供了一个visExport()
功能,但它只允许用户导出图像(png/jpg/pdf)。
这是一个非常简单的 VisNetwork 图作为最小可重现示例:
nodes <- data.frame(id = 1:10, label = paste("Label", 1:10),
group = sample(c("A", "B"), 10, replace = TRUE))
edges <- data.frame(from = c(2,5,10), to = c(1,2,10))
network <- visNetwork(nodes, edges, height = "400px", width = "100%")
visNetwork(gephi = 'network.json') #does not work
最后,我可能不得不编写一个将图形数据写入文本文件的函数。在您看来,最好的方法是什么?我应该特权特定格式吗?
谢谢你。