Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:在绘制igraph时选择性地显示节点_R_Graph_Igraph - Fatal编程技术网

R:在绘制igraph时选择性地显示节点

R:在绘制igraph时选择性地显示节点,r,graph,igraph,R,Graph,Igraph,如何绘制选定的igraph节点 我有一个现有的图表,但它太复杂了。我希望能够“放大”节点的子集 我可以删除边的子集,但我不知道如何“关闭”孤立节点 使用网络软件包时,displayisolates=FALSE参数执行此操作;它不显示这些孤立的节点 布局算法还应忽略“关闭”边 例如: g1 <- graph( c( 0,1, 1,2, 2,2, 2,3 ) ) g2 <- delete.edges(g1, E(g1, c(0,1))) plot(g2) g1嘿,看起来你已经明白了,但

如何绘制选定的igraph节点

我有一个现有的图表,但它太复杂了。我希望能够“放大”节点的子集

我可以删除边的子集,但我不知道如何“关闭”孤立节点

使用网络软件包时,
displayisolates=FALSE
参数执行此操作;它不显示这些孤立的节点

布局算法还应忽略“关闭”边

例如:

g1 <- graph( c( 0,1, 1,2, 2,2, 2,3 ) )
g2 <- delete.edges(g1, E(g1, c(0,1)))
plot(g2)

g1嘿,看起来你已经明白了,但是在探索这个问题时(我自己通常使用网络软件包,但在某些事情上也尝试使用igraph),我想出了一个应该自动完成的函数,它反映了displayisolates=F的功能

delete.isolates <- function(graph, mode = 'all') {
  isolates <- which(degree(graph, mode = mode) == 0) - 1
  delete.vertices(graph, isolates)
}

delete.delete我知道用户不应该提交新答案来评论其他答案,但我的编辑被拒绝了,而且我没有足够高的声誉留下评论

我只是想指出,在Wine上面的回答中,从igraph 0.6开始,deletes.isolates函数中的“-1”索引校正是不必要的。另见塔马斯的评论:


iso您能提供一些数据或图形示例说明您正在尝试做什么吗?噢,见鬼,我不知道这里的礼仪,但我回答了我自己的问题。您只需删除顶点。在上面的例子中,你将
g3请为你的答案添加上下文。
g2 <- delete.isolates(g1, mode = 'in')
plot(g2)
iso <- V(g1)[degree(g1)==0]
g2 <- delete.vertices(g1, iso)