R 在ggnet中使用颜色

R 在ggnet中使用颜色,r,ggplot2,ggally,statnet,R,Ggplot2,Ggally,Statnet,我有一个这样的网络: structure(list(myfirstcol = c(1L, 2L, 3L, 1L, 2L, 3L, 2L, 3L, 1L), mysecondcol = c(1L, 2L, 3L, 2L, 3L, 2L, 1L, 1L, 3L), value = c(394L, 445L, 83L, 2L, 12L, 19L, 33L, 84L, 12L)), class = "data.frame", row.names = c(NA, -9L)) 我

我有一个这样的网络:

structure(list(myfirstcol = c(1L, 2L, 3L, 1L, 2L, 3L, 2L, 3L, 
1L), mysecondcol = c(1L, 2L, 3L, 2L, 3L, 2L, 1L, 1L, 3L), value = c(394L, 
445L, 83L, 2L, 12L, 19L, 33L, 84L, 12L)), class = "data.frame", row.names = c(NA, 
-9L))
我使用此代码将其转换为网络对象

library(GGally)
netval1 <-
  network(netmat1_matrix, matrix.type = "edgelist",
          ignore.eval = F, names.eval = "value")

我只有三个节点和三条领带,所有的东西都是黑色的。即使我将颜色替换为“蓝色”或“绿色”,也不会影响图表。

当您创建
网络
对象时,您声明
names.eval=“value”
,它将“value”设置为属性名。您问我们如何更改节点的颜色。为此,必须使用节点属性创建一个新顶点

这里有一个例子。假设有些节点是深蓝色的,有些是蓝色的:

netval1 %v% "nodecolor" = rep(c("darkblue", "blue"))

ggnet2(netval1, color = "nodecolor")
这导致网络图如下所示:

现在回答你的第二个评论:

我想可视化这个矩阵,当数字较大时,将节点颜色设置为深蓝色,当数字较小时,将节点颜色设置为浅蓝色

矩阵中没有节点属性。节点和边属性之间存在差异。你的矩阵是一个边列表,所以那里只有关于边的信息(即,关系)。我们无法使用任何信息为节点着色,因此很遗憾,不可能完全按照您的要求进行操作


在更改节点颜色之前,必须创建节点属性。这些信息可以来自一个单独的向量,也可以像我上面所做的那样作为属性添加到
网络
对象中。您可以找到如何执行此操作的示例。

是否安装了
RColorBrewer
?我已安装了该软件包使用
ggnet2()
,而不是
ggnet()
-这将为节点着色。不过,您不清楚如何使用着色。
数字与节点的着色方案有何关系?请提供预期的输出,即使您只需要用文字来描述它。ggnet()和ggnet2()之间的区别是什么?
netval1 %v% "nodecolor" = rep(c("darkblue", "blue"))

ggnet2(netval1, color = "nodecolor")