首页 > 解决方案 > 将我的无向网络图(使用 igraph)转换为 R 中 networkd3 中的交互式图

问题描述

做一个示例,我试图将我的无向图(使用 igraph)变成交互式图。我得到的结果是我的代码下方的图片 URL。每当我将“CzechCorruption 数据框”带到“simpleNetwork”函数时,它给我的结果与 igraph 中的结果不同。它没有显示相同的可视化。我该怎么做?

library (igraph)
library (networkd3)
CzechCorruption <- read.csv('CZECH_CORRUPTION.csv', header = T)
Cnetwork <- as.matrix(read.csv('CZECH_CORRUPTION.csv', header =T, row.names = 1))
g <- graph.adjacency(Cnetwork, mode = "undirected", weighted = TRUE)
plot(g, layout = layout_with_kk, vertex.label.cex = 0.75, edge.width=E(g)$weight)

在此处输入图像描述

p <- simpleNetwork(CzechCorruption, height ="200px", width = "200px", Source = 1, Target=2, fontSize =18, linkColour ="#777", nodeColour="#F47E5E",  opacity = 0.7, zoom = T)
p

在此处输入图像描述

总而言之,我希望我的图被描绘为一个无向图,利用 igraph 库在 networkd3 中成功转换。建议?这是在 R 中。

标签: rigraphinteractivenetworkd3

解决方案


这是由igraph_to_networkD3. 这是文档中给出的示例。

library(igraph)
library(networkD3)

# Use igraph to make the graph and find membership
karate <- make_graph("Zachary")
wc <- cluster_walktrap(karate)
members <- membership(wc)

# Convert to object suitable for networkD3
karate_d3 <- igraph_to_networkD3(karate, group = members)
# Create force directed network plot
forceNetwork(Links = karate_d3$links, Nodes = karate_d3$nodes,
             Source = 'source', Target = 'target', NodeID = 'name',
             Group = 'group')

推荐阅读