我正在尝试 1)获取网络的坐标 2)将它们用于其他网络以始终具有相同的节点位置。
当我获取节点的坐标并将坐标设置到我从中获取它们的同一网络时,它会发生变化。x 位置保持不变,y 位置变得与假设的 y 轴对称。因此,当应用两次时,该位置就是我想要的位置。
问题可能出在 tkplot.getcoords() 函数中。你知道是否有避免应用两次的技巧吗?
n <- 20
mat <- matrix(1:n^2, n,n)
g <- graph.adjacency(mat, mode="directed", weighted=TRUE, diag=FALSE)
V(g)$color <- "white"
id <- tkplot(g, edge.curved = 0.5)
coor <- tkplot.getcoords(id,norm=F)
coor
tkplot.setcoords(id, coor) # wrong position
coor <- tkplot.getcoords(id,norm=F)
coor
tkplot.setcoords(id, coor) # desired position