Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plot 如何更改内聚块的节点颜色?_Plot_Colors_Attributes_Nodes_Social Networking - Fatal编程技术网

Plot 如何更改内聚块的节点颜色?

Plot 如何更改内聚块的节点颜色?,plot,colors,attributes,nodes,social-networking,Plot,Colors,Attributes,Nodes,Social Networking,我试图更改特定图形中的节点颜色,但V(gsna)$color命令不起作用。出于某种原因,我可以改变形状,但不能改变颜色。具体来说,我想更改占据每个内聚块的节点的颜色。默认颜色在黑白打印中不易识别 数据集sna是一个2模式非对称关联矩阵。下面是一个示例(实际上,数据集要大得多): 我使用内聚.blocks()命令创建分层嵌套的块。主题由圆表示,属性由正方形表示。 这是我的密码: library(igraph) as.matrix(sna) -> sna gsna <- graph.i

我试图更改特定图形中的节点颜色,但
V(gsna)$color
命令不起作用。出于某种原因,我可以改变形状,但不能改变颜色。具体来说,我想更改占据每个内聚块的节点的颜色。默认颜色在黑白打印中不易识别

数据集sna是一个2模式非对称关联矩阵。下面是一个示例(实际上,数据集要大得多):

我使用内聚.blocks()命令创建分层嵌套的块。主题由圆表示,属性由正方形表示。 这是我的密码:

library(igraph)
as.matrix(sna) -> sna

gsna <- graph.incidence(sna)
bloc <- cohesive.blocks(gsna)

par(mar=c(.05,.05,.05,.05),cex=.8)
V(gsna)[V(gsna)$type == 1]$shape <- "square"
V(gsna)[V(gsna)$type == 0]$shape <- "circle"
plot(bloc,gsna,layout=layout.fruchterman.reingold,vertex.size=5,edge.color="gray40",
 vertex.label.color="black",mark.groups=blocks(bloc))
库(igraph)
as.矩阵(sna)->sna

gsna我要感谢罗纳德·布雷格教授亲自回答这个问题

解决办法如下:

group1 <- bloc$blocks[[1]]
a <- V(gsna)[group1]$color <- rep("blue4", length(group1))
group2 <- bloc$blocks[[2]]
b <- V(gsna)[group2]$color <- rep("deeppink", length(group2))
group3 <- bloc$blocks[[3]]
c <- V(gsna)[group3]$color <- rep("greenyellow", length(group3))

plot(gsna,layout=layout.fruchterman.reingold,vertex.size=5,edge.color="gray40",
vertex.label.color="black",vertex.color=V(gsna)$color,mark.groups=blocks(bloc))
group1
group1 <- bloc$blocks[[1]]
a <- V(gsna)[group1]$color <- rep("blue4", length(group1))
group2 <- bloc$blocks[[2]]
b <- V(gsna)[group2]$color <- rep("deeppink", length(group2))
group3 <- bloc$blocks[[3]]
c <- V(gsna)[group3]$color <- rep("greenyellow", length(group3))

plot(gsna,layout=layout.fruchterman.reingold,vertex.size=5,edge.color="gray40",
vertex.label.color="black",vertex.color=V(gsna)$color,mark.groups=blocks(bloc))