色彩的传说没有出现在ggnet2情节(Color legend not appearing in g

2019-09-26 17:41发布

我试图绘制网络g

> g
 Network attributes:
  vertices = 866 
  directed = TRUE 
  hyper = FALSE 
  loops = FALSE 
  multiple = FALSE 
  bipartite = FALSE 
  total edges= 5310 
    missing edges= 0 
    non-missing edges= 5310 

 Vertex attribute names: 
    color degree membership vertex.names 

 Edge attribute names not shown 

g node “会员”发生时使用以下频率:

> table(g %v% "membership")

  1   2   3   4   5 
 19  44  11 196 596 

当我使用优良ggnet2包和下面的函数,没有说明返回的曲线图,虽然文档建议为节点大小,颜色等是自动生成的曲线图 (见节点图例部分):

ggnet2(g_new, color = "membership", size = "degree") +
    guides(size = F)

Answer 1:

我的猜测是,你传递一个数值顶点属性ggnet2 ,然后将其理解为色彩值的向量。

简短的回答:

把你的membership属性为character字符串,你将被罚款。

长一点的回答:

比较在下面的例子中的两个图表,以获得差异:

library(GGally)
library(ggplot2)
library(network)
library(sna)

g <- network(rgraph(10))
g %v% "membership" <- sample(1:5, 10, replace = TRUE)
g %v% "membership_string" <- as.character(g %v% "membership")
g %v% "degree" <- degree(g)

g
table(g %v% "membership")

## Your graph
ggnet2(g, color = "membership", size = "degree") +
  guides(size = FALSE)

## Your graph, with the membership variable as a string
ggnet2(g, color = "membership_string", size = "degree") +
  guides(size = FALSE)

如果你想区分颜色,而不是在你的情节灰度等级,你可能想是这样的:

ggnet2(g, color = "membership_string", size = "degree", color.palette = "Set1") +
  guides(size = FALSE)

另外,我可能会建议你给一个尝试到ggnetwork包,里面有额外的功能?



文章来源: Color legend not appearing in ggnet2 plot
标签: r ggplot2