【问题标题】:unable to use R package threejs and igraph to visualize network无法使用 R 包 threejs 和 igraph 来可视化网络
【发布时间】:2018-04-19 23:46:06
【问题描述】:

我正在使用 r 包 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 对象进行交互式可视化吗?

【问题讨论】:

  • 我使用了你的第一段代码,它看起来不错。 link to tinypic
  • @link to tinypic 这很奇怪。我在我的 rstudio 查看器中什么也看不到。或在我的 r 笔记本中
  • 实际上,上面的link to tynipic 是我得到的输出图像的实际链接,供您查看;)

标签: r three.js igraph


【解决方案1】:

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

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

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

【讨论】:

  • 没错,但它对工作流程来说不是很舒服。上面的答案应该会有所帮助。
【解决方案2】:

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

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

g <- graph_from_data_frame(df)

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

graphjs(g)

【讨论】:

    猜你喜欢
    • 2018-03-21
    • 2016-10-07
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多