我想以这样一种方式绘制我的网络:具有更大程度的节点更大并且颜色比另一个更亮。
我试图使用ggnet2
库,这就是我得到的。
g <- read.graph(".ds.gml", format = c("gml"))
V(g)$degree <- igraph::degree(g)
myPalette <- colorRampPalette(brewer.pal(9, "Oranges"))(18)
x11()
ggnet2(g, node.color = "degree", node.size = "degree", size.cut = 10)
x11()
ggnet2(g, node.color = "degree", node.size = "degree", size.cut = TRUE, palette = myPalette)
如您所见,颜色是“随机”的,我想使用调色板作为“Set2”,但如果我... palette = "Set2"
,我会收到错误:
ggnet2中的错误(g,node.color =“degree”,node.size =“degree”,size.cut = TRUE: ColorBrewer调色板Set2(最大值:8)
的组节点(18)太多所以我想创建一个新的调色板(myPalette
)但是当我应用时,结果不会使用调色板的颜色。为什么呢?
答案 0 :(得分:0)
如果你不坚持ggplot2
,你可以这样做:
library(igraph)
set.seed(1)
g <- ba.game(20)
V(g)$deg <- degree(g)
pal <- colorRampPalette(RColorBrewer::brewer.pal(9, "Oranges"))(max(V(g)$deg))
plot(g, vertex.color=pal[V(g)$deg-min(V(g)$deg)+1],
vertex.size=plotrix::rescale(V(g)$deg, c(15, 25)))