具有固定节点位置的igraph和包围固定半径的节点的圆

时间:2017-08-14 10:37:04

标签: r plot igraph

我正在尝试使用表示2维位置的节点绘制图形。这里没问题。

但是现在我需要的圆圈的中心应该是每个节点,这个圆圈必须有一个定义的半径,因为它们代表一些距离,某种“行动半径”。

此代码几乎执行此操作,但我需要vertex.size作为半径:

nodes <- colnames(iris)
#               Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Species     
positions <- matrix(c(c(2,3), c(5,10), c(3,4), c(2,2), c(3,7)), ncol = 5)
distance <- 30
NodeList <- data.frame(nodes, positions[1, ] , positions[2, ])
EdgeList <- data.frame(from = numeric(0), to= integer(0))
a <- graph_from_data_frame(vertices = NodeList, d = EdgeList)

plot(a, layout=t(positions), vertex.size=distance, vertex.frame.color=c("red", "blue", "green", "yellow", "brown"), vertex.color=NA, vertex.label = NA)
plot(a, layout=t(positions), vertex.size=2, add=T, vertex.color=c("red", "blue", "green", "yellow", "brown") )

enter image description here

您可以很容易地看到外部圆周并不代表所提供坐标的实际距离。

有什么想法吗?也许就像缩放这些位置以便它们总是使用相同的度量然后使用vertex.size的某种转换公式一样?

0 个答案:

没有答案