我正在尝试使用表示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") )
您可以很容易地看到外部圆周并不代表所提供坐标的实际距离。
有什么想法吗?也许就像缩放这些位置以便它们总是使用相同的度量然后使用vertex.size
的某种转换公式一样?