[R的igraph:缩放节点大小
问题描述:
我目前使用下面的脚本来创建中介中心一个情节:[R的igraph:缩放节点大小
plot(g,
rescale = FALSE,
edge.color= edge_color,
edge.width=E(g)$Weight*0.5,
vertex.size= degree(g)*0.5,
main="Degree Centrality"
)
正如你所看到的,我目前使用的是简单的乘数调整vertex.size
。由于有些节点非常大,有些看起来太小,所以我想要设置一个最小和最大尺寸的范围。当然,这个范围应该考虑程度(g)。
这是否有可能?
注:与scale (degree(g), 5, 15)
或类似的尝试没有工作: “错误在符号(X = COORDS [1],Y = COORDS [2],BG = vertex.color,: 无效符号参数”
答
重新调整数x,用的域(A,b)你需要做一个缩放功能就像一个范围(C,d)的:
rescale = function(x,a,b,c,d){c + (x-a)/(b-a)*(d-c)}
所以,那么,如果你有一个从程度大小0到200,并希望您的顶点大小范围为1到5个单位,请指定顶点大小:
rescale(degree(g), 0, 200, 1, 5)
这只是一个简单的线性转换 - 您可能想要更好的视觉效果非线性。
你可能会(在scales
包像rescale
功能)的地方找到一个包rescale
功能,但它不是什么scale
呢!
这有帮助,谢谢! – Rnaldinho