1

我正在使用 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 向量的值?我想要一个非常好的灰度,但目前我似乎能得到的只是一些节点是白色的,一些节点是黑色的。

提前谢谢了。

4

1 回答 1

0

您可以使用rescale()plotrix 包中的函数将矢量从 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)))
于 2013-05-07T13:26:17.630 回答