1
我有这样的数据集:颜色节点
df <- structure(list(name = structure(c(1L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 2L), .Label = c("node1", "node10", "node2", "node3",
"node4", "node5", "node6", "node7", "node8", "node9"), class = "factor"),
value = c(100L, 14L, 2L, 0L, 25L, 0L, 0L, 43L, 7L, 0L)), .Names = c("name",
"value"), class = "data.frame", row.names = c(NA, -10L))
,我希望其具有值等于0具有红色,并与值的节点等于或大于一具有红色的节点颜色和他们的圈子取决于值的大小。
是否可以使用igraph?
带边缘的数据集。输入数据框中:
编辑从评论
我做了基于书籍和引用此数据集。书籍=节点和引文=链接。每本书都是独一无二的,并且有引文。引用可能是不止一本书的共同之处。这就是为什么即link1在多列中。链接44直到链接100是引文,但只存在于书1中,但不存在于其他书中。因为书和引文有单词作为标题,为了制作一张图,这可能没有帮助,我将书名改为编号和引用链接编号的节点。引文中共同的一个以上的书有相同的ID i.e.link1
dput(df)
structure(list(node1 = structure(c(1L, 13L, 24L, 35L, 46L, 57L,
68L, 79L, 90L, 2L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 14L,
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 25L, 26L, 27L, 28L,
29L, 30L, 31L, 32L, 33L, 34L, 36L, 37L, 38L, 39L, 40L, 41L, 42L,
43L, 44L, 45L, 47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L,
58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 69L, 70L, 71L,
72L, 73L, 74L, 75L, 76L, 77L, 78L, 80L, 81L, 82L, 83L, 84L, 85L,
86L, 87L, 88L, 89L, 91L, 92L, 93L, 94L, 95L, 96L, 97L, 98L, 99L,
100L, 3L), .Label = c("link1", "link10", "link100", "link11",
"link12", "link13", "link14", "link15", "link16", "link17", "link18",
"link19", "link2", "link20", "link21", "link22", "link23", "link24",
"link25", "link26", "link27", "link28", "link29", "link3", "link30",
"link31", "link32", "link33", "link34", "link35", "link36", "link37",
"link38", "link39", "link4", "link40", "link41", "link42", "link43",
"link44", "link45", "link46", "link47", "link48", "link49", "link5",
"link50", "link51", "link52", "link53", "link54", "link55", "link56",
"link57", "link58", "link59", "link6", "link60", "link61", "link62",
"link63", "link64", "link65", "link66", "link67", "link68", "link69",
"link7", "link70", "link71", "link72", "link73", "link74", "link75",
"link76", "link77", "link78", "link79", "link8", "link80", "link81",
"link82", "link83", "link84", "link85", "link86", "link87", "link88",
"link89", "link9", "link90", "link91", "link92", "link93", "link94",
"link95", "link96", "link97", "link98", "link99"), class = "factor"),
node2 = structure(c(1L, 9L, 10L, 11L, 12L, 13L, 14L, 2L,
3L, 4L, 5L, 6L, 7L, 8L, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA), .Label = c("link1", "link10", "link11", "link12",
"link13", "link14", "link15", "link16", "link4", "link5",
"link6", "link7", "link8", "link9"), class = "factor"), node3 = structure(c(1L,
2L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA), .Label = c("link1",
"link2"), class = "factor"), node4 = c(NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA), node5 = structure(c(1L, 12L, 19L, 20L,
21L, 22L, 23L, 24L, 25L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L,
10L, 11L, 13L, 14L, 15L, 16L, 17L, 18L, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), .Label = c("link1",
"link10", "link11", "link12", "link13", "link14", "link15",
"link16", "link17", "link18", "link19", "link2", "link20",
"link21", "link22", "link23", "link24", "link25", "link3",
"link4", "link5", "link6", "link7", "link8", "link9"), class = "factor"),
node6 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), node7 = c(NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA), node8 = structure(c(1L,
12L, 23L, 34L, 39L, 40L, 41L, 42L, 43L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 13L, 14L, 15L, 16L, 17L, 18L, 19L,
20L, 21L, 22L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L,
33L, 35L, 36L, 37L, 38L, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA), .Label = c("link1", "link10", "link11",
"link12", "link13", "link14", "link15", "link16", "link17",
"link18", "link19", "link2", "link20", "link21", "link22",
"link23", "link24", "link25", "link26", "link27", "link28",
"link29", "link3", "link30", "link31", "link32", "link33",
"link34", "link35", "link36", "link37", "link38", "link39",
"link4", "link40", "link41", "link42", "link43", "link5",
"link6", "link7", "link8", "link9"), class = "factor"), node9 = structure(c(1L,
2L, 3L, 4L, 5L, 6L, 7L, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA), .Label = c("link1",
"link2", "link3", "link4", "link5", "link6", "link7"), class = "factor"),
node10 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), .Names = c("node1",
"node2", "node3", "node4", "node5", "node6", "node7", "node8",
"node9", "node10"), class = "data.frame", row.names = c(NA, -100L
))
在该图中通过用直径正比于频率的数量的圆描绘的每个节点。 列名称是节点,每一行中的链接都是连接元素。
怎么可能给链接节点一个黄色的颜色,节点是0频率的节点是红色的?
你似乎在你的图中没有任何边缘? – user20650
@ user20650是的,我没有任何边缘。 – Sasak
好吧,你可以通过设置'V(g)$ color'来颜色顶点(见[this](https://stackoverflow.com/questions/15999877/correctly-color-vertices-in-r-igraph))并调整顶点大小在绘图时设置'vertex.size'(参见[this](https://stackoverflow.com/questions/12058556/adjusting-the-node-size-in-igraph-using-a-matrix)) – user20650