将网络/igraph对象转换为plotly

将网络/igraph对象转换为plotly,r,plotly,R,Plotly,我已经建立了一个网络,并创建了igraph和网络对象。我可以使用ggplot打印对象,并使用ggplotly导出到plot 问题是我无法真正控制图形,因此我想知道是否有更好的方法将网络(或Ig图形)导入plotly,以便更好地控制布局 例如,当连接两个节点时,我有一个权重分数,并希望添加一个滑块以根据权重分数进行过滤(介于0和1之间) 我想plotly可能是一个很好的替代方案,允许在网络图上进行动态过滤 这是一个可复制的例子 我创建了一个二部网络,如下所示: library(ggnet) lib

我已经建立了一个网络,并创建了igraph和网络对象。我可以使用ggplot打印对象,并使用ggplotly导出到plot

问题是我无法真正控制图形,因此我想知道是否有更好的方法将网络(或Ig图形)导入plotly,以便更好地控制布局

例如,当连接两个节点时,我有一个权重分数,并希望添加一个滑块以根据权重分数进行过滤(介于0和1之间)

我想plotly可能是一个很好的替代方案,允许在网络图上进行动态过滤

这是一个可复制的例子

我创建了一个二部网络,如下所示:

library(ggnet)
library(plotly)
library(network)
n <- data.frame(event1 = c(-0.2,0.8,0.4,0),
                event2 = c(0.34,-0.17,0.3,0),
                event3 = c(0.2,0.1,-0.73,0),
                row.names = letters[1:4])
net <- network(n,
               matrix.type = "bipartite",
               ignore.eval = FALSE,
               names.eval = "weights")

col = c("actor" = "grey", "event" = "gold")
set.edge.attribute(net, "color", ifelse(net %e% "weights" > 0, "green", "red"))
g <- ggnet2(net, color = "mode", palette = col, label = TRUE, edge.color = "color",edge.label="weights")
库(ggnet)
图书馆(绘本)
图书馆(网络)

n一个可复制的例子会有所帮助。包括期望值…我用一个可复制的示例更新了问题。不起作用:
network::set.edge.attribute(net,“color”,ifelse(net%e%“weights”>0,“green”,“red”))
在net%e%“weights中抛出
错误:找不到函数“%e%”
很抱歉,开始时忘了添加库。添加了ggnet和plotly库。仍然不可复制:
网络中出现错误(…):找不到函数“网络”
。可复制的示例会有所帮助。包括期望值…我用一个可复制的示例更新了问题。不起作用:
network::set.edge.attribute(net,“color”,ifelse(net%e%“weights”>0,“green”,“red”))
在net%e%“weights中抛出
错误:找不到函数“%e%”
很抱歉,开始时忘了添加库。添加了ggnet和plotly库。仍然不可复制:
网络中出现错误(…):找不到函数“网络”
gp <- ggplotly(g)
htmlwidgets::saveWidget(as_widget(gp), "ggplot.html")