一周以来,我一直在尝试使用R 中的networkD3包绘制网络。该simpleNetwork
函数正常工作,但它不允许对图形的外观进行太多控制。该forceNetwork
功能就是为此目的:显示具有丰富视觉特征的图形。
我遇到的问题在这个问题中几乎相同。我已经仔细阅读了包文档,并尝试了上述线程中提出的解决方案,但没有运气:我得到的只是一堆节点,没有连接它们的边缘。
这是我data.frame
的:
边缘
Gene1 Gene2 Prob
1 22 3
2 22 6
3 22 6
4 22 9
5 22 3
6 22 4
7 22 8
8 22 4
9 22 6
10 22 8
11 22 6
12 22 10
13 22 6
14 22 3
15 22 6
16 22 6
17 22 0
18 22 4
19 22 6
20 22 4
垂直
Symbol Chr Expr
1 21 9
2 17 10
3 17 0
4 20 0
5 6 9
6 5 11
7 12 0
8 1 20
9 17 11
10 17 7
11 17 11
12 10 0
13 17 0
14 7 7
15 17 6
16 17 0
17 2 5
18 5 10
19 17 10
20 17 9
21 12 4
22 3 2
好吧,这导致上面提到的没有边缘的节点云。如果我用我放在节点上的实际标签更改“符号”列(按照包的要求,尊重链接表的顺序),同样的事情。
请注意,该包通过此示例说明了此功能的使用,如果您打开使用的数据集(MisLinks、MisNodes),它们的内容与我的相同,除了节点的标签。运行同样的例子是可行的;使用我的数据运行不会。
这是我用来绘制网络的函数:
forceNetwork( Links = edg, Nodes = vert, Source = "Gene1", Target = "Gene2",
Value = "Prob", NodeID = "Symbol", Group = "Chr", opacity = 0.7,
colourScale = "d3.scale.category20b()", Nodesize = "Expr", zoom = T,
legend = T )
其他所有属性都正确显示(节点大小、图例、颜色),但我一直看不到边缘。我的数据集中某处一定有错误,我无论如何都找不到。