我正在使用igraph在R上绘制一个小网络(21个节点)。我希望根据矢量postMean对节点进行着色,它具有以下值:
[1] -0.035275268 0.016065216 -0.009860104 -0.110333756 0.027173563
[6] 0.003732149 -0.015728577 -0.015447753 -0.015458429 -0.031747722
[11] 0.050184673 0.052410534 0.025986002 0.059460753 0.044158671
[16] -0.302219356 0.065311113 0.012006393 0.019186883 -0.006812400
[21] 0.196030557
如何调整颜色的比例,以便在数字较小时指示postMean向量的值?我想要一个非常精细的灰度,但我现在似乎能得到的是一些节点是白色的,一些节点是黑色的。
非常感谢提前。
答案 0 :(得分:0)
您可以使用plotrix包中的rescale()
函数将矢量从0重新缩放为1,然后使用gray()
函数将这些颜色转换为灰度颜色。
library(igraph)
library(plotrix)
vcol <- gray(rescale(postMean, c(0, 1)))
tkplot(graph, vertex.color=vcol)
如果您不希望颜色范围一直延伸到黑白,则可以缩小重新缩放的值范围,例如:
vcol <- gray(rescale(postMean, c(0.1, 0.9)))