首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将VisNetwork (R)图导出给伤寒杆菌

将VisNetwork (R)图导出给伤寒杆菌
EN

Stack Overflow用户
提问于 2019-07-09 09:11:49
回答 2查看 506关注 0票数 1

我目前正在开发一个R/闪亮应用程序,该应用程序使用VisNetwork框架生成网络图。我的同事将需要我将生成的地块导出到Gephi。我研究了所有可能的选择,但没有一个是理想的。什么是将VisNetwork图导出到地理信息库的最佳方法?

节点颜色,线宽,背景色.没关系--事实上,总体来说,审美并不重要。我们想要做的就是简单地将数据导出到地理信息库。一旦我们将这些数据加载到地理信息中,我们应该得到一个相似的情节,尽管有着不同的美学。

现在,有不同的选项可以将文件加载到Gephi中。当我们查看伤寒氏文献时,我们可以看到最优的格式是GEFX (具有边缘权重、层次结构和XML结构)或CSV (具有边缘列表/矩阵结构)。

但是,VisNetwork不允许导出到这些格式。

Gephi可以导出一个JSon文件,然后可以用VisNetwork打开该文件--但似乎不可能出现相反的情况。实际上,VisNetwork具有函数visNetwork(gephi = 'network.json'),但它似乎不允许导出json文件,只允许导入。

VisNetwork也提供了visExport()函数,但它只允许用户导出图像(png/jpg/pdf)。

下面是一个非常简单的VisNetwork图,作为一个最小可复制的示例:

代码语言:javascript
复制
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

最后,我可能需要编写一个将图形数据写入文本文件的函数。在你看来,最好的办法是什么?我应该优先考虑一个特定的格式吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-22 01:54:13

我知道现在有点晚了,但无论如何我都会尽力帮忙的。Gephi很好地从CSV文件中读取交互。所以:

R

您的示例几乎没有问题,只是在列名为的边缘进行了一点小小的更改。

代码语言:javascript
复制
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))
colnames(edges)<-c('source', 'target')

那么您应该以CSV的形式导出:

代码语言:javascript
复制
write.csv(edges,'edges.csv')
write.csv(nodes,'nodes.csv')

伤寒

然后,我们去格菲,然后:

文件->导入电子表格

请注意:

  1. 您必须一次导入一个文件的边缘和节点。
  2. 您必须将两个csv文件导入到同一个“工作区”,或者有两个不同的图(空边和空节点)。
票数 1
EN

Stack Overflow用户

发布于 2019-07-11 09:03:37

苏,几天后,我没有回答,并挖掘了更多。事实上,没有办法直接将数据从VisNetwork地块导出到地理信息库。我发现最有效的方法是硬写到GEXF文件中。这有点乏味,但是您的数据将被加载到Gephi中,而不需要任何担心。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56949127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档