我有一張使用igraph製作的圖。我想分散節點。到目前爲止,我發現的唯一方法是縮放佈局並強制繪圖命令不重新縮放。增加igraph節點之間的距離
png("kmeansColouredNetwork.png", width=1200,height = 1000)
col=c("yellow", "saddlebrown", "brown1","chartreuse2", "chocolate1","darkorange" ,"deepskyblue1", "hotpink1","plum2")
for(i in 1:9){
V(graph)$cluster[which(V(graph)$name %in% kmeans[,i])]<-col[i]
}
V(graph)$color=V(graph)$cluster
coords <- layout.fruchterman.reingold(graph)*0.5
plot(graph, layout = coords, vertex.label=NA, rescale=FALSE, vertex.size=degree(graph)*.25,vertex.color=V(graph)$cluster)
labels = paste("cluster:", 1:length(colours))
legend("left",legend=labels, col=col, pch=16, title="K means clustered subgroups")
dev.off()
如果我不重新調整,中央高度連接的節點聚集在一起,我得到這樣的圖,其中圖中的主體圖案是不可能辨別:
在另一方面,如果我告訴繪圖命令不要重新縮放,那麼我得到這個:
其中模式是可辨別的,但圖的一半是關閉的。這不是一個繪圖大小的問題,就像我增加png的尺寸一樣,它仍然將圖形居中在圖的邊緣。
這不是佈局的問題 - 我試過fruchterman.reingold,layout_nicely,reingold.tilford,layout.circle,佈局隨機,同樣的事情發生。
顯然曾經是一個變量來設置節點之間的斥力因子,但似乎已被棄用。
如何將圖的節點展開或重新縮放並重新繪製圖?
我有類似的問題與igraph。我通過將所有頂點,邊和箭頭按比例縮小來解決它,將圖保存爲pdf,並放大對我感興趣的區域。你也可以在節點上使用半透明的顏色(例如'vertex.color =「#0000FF25」'),這有助於看透重疊圖。我希望有一個更清潔的解決方案! –
[igraph axes xlim ylim plot incorrectly]可能重複(http://stackoverflow.com/questions/11272349/igraph-axes-xlim-ylim-plot-incorrectly) – Phiter