我是一名有用的助手,可以为您翻译以下内容:我有一个非常大的边缘列表,并且我只想绘制具有特定权重的边缘,该如何做到呢?
我目前尝试过:
plot.graph(E(sgdf)[E(sgdf)$weight==3]))
但是我总是遇到这个错误。
Error in V(g) : Not a graph object
首先复制您的图形,删除您不需要的边,然后绘制其余部分:
> sgdf.copy <- delete.edges(sgdf, which(E(sgdf)$weight != 3)-1)
> plot(sgdf.copy)
在delete.edges
中需要使用-1
,因为igraph使用基于0的边索引,而R使用基于1的索引。
更新:正如一位匿名编辑者(他的编辑遗憾地被拒绝了)指出,从igraph 0.6开始,igraph使用基于1的边索引。因此,仅当您使用igraph 0.5.x或更早版本时,请减去1。
igraph
包吗?你是指plot.igraph
吗?能否提供一个最小可重现的示例? - Josh O'Brien