使用带 node/point 符号的 gplot 的网络图

network plot using gplot with node/point symbols

我正在尝试使用节点符号(点形状)而不是使用颜色来生成黑白网络图来区分节点类型。但是,我找不到使用包 sna 中的 gplot 函数来执行此操作的方法。这是一个简单的例子:

library(network)
library(sna)
set seed(100)
net <- as.network(matrix(sample(c(0:1),100,replace=TRUE),nrow=10,ncol=10))
symbols <- rep(c(1:2),5)
gplot(net,pch=symbols) 

至少在我的 r 和 sna 版本中,gplot 只是忽略了 pch。我发现文档 here 似乎表明 vertex.pch 在某一时刻可用于设置节点符号。但是,这不再出现在 sna 文档中,以下代码会导致错误:

gplot(net,vertex.pch=symbols)

有没有一种方法可以用符号代替网络图中的颜色,最好使用 gplot(我正在尝试生成现有颜色图的一些黑白版本,所以如果可能的话我宁愿不从头开始) ?

gplot 不直接支持 pch,但它允许您使用 vertex.sides 参数更改顶点多边形的边数。所以如果你想用三角形和正方形画你的例子:

gplot(net,vertex.col='black',vertex.sides = symbols+2)