无法使用R包threejs和igraph来可视化网络

时间:2017-11-07 14:22:04

标签: r three.js igraph

我正在使用r package igraph和threejs来可视化我的网络。这是一个显示我发现的问题的示例。

# Make a correlation matrix:
mat=cor(t(mtcars[,c(1,3:6)]))
# Keep only high correlations
mat[mat<0.995]=0 
# Make an Igraph object from this matrix:
net=graph_from_adjacency_matrix( mat, weighted=T, mode="undirected", diag=F)
graphjs(net)
我得到的是一张空白照片。 我也尝试使用igraph2graphjs函数转换igraph对象将其转换为graphjs友好对象。但是好像没有来自threejs包的这样的函数了。下面是我得到的错误信息。

net.js <- threejs::igraph2graphjs(net)
graphjs(net.js)

Error: 'igraph2graphjs' is not an exported object from 'namespace:threejs'

后续问题是:我是否可以使用任何其他包来从igraph对象进行交互式可视化?

2 个答案:

答案 0 :(得分:1)

graphjs输出需要在外部查看器中呈现。

如果您在R终端解释器中运行代码,它就像一个魅力。

不知怎的RStudio没有自动处理它。尝试使用Viewer RStudio面板中的在新窗口中显示选项。它会外部打开您的图表(例如在网络浏览器中)。

答案 1 :(得分:0)

对于当前版本0.3.1,您可以将igraph对象传递给graphjs函数。在设置顶点属性之前,问题仍然存在。

设置顶点属性sizecolor应该可以解决问题

g <- graph_from_data_frame(df)

V(g)$size <- 10
V(g)$color <- 'red'

graphjs(g)