Faa*_*ioo 3 plot r networkd3 htmlwidgets
我一直试图在R中使用networkD3包绘制网络一周.该simpleNetwork功能正常工作,但它不能很好地控制图形的外观.该forceNetwork功能就是为了这个目的:显示具有丰富视觉特征的图形.
我遇到的问题几乎与此问题相同.我仔细阅读了包文档,并尝试了上述线程中提出的解决方案,没有运气:我得到的是一个没有边连接它们的节点云.
我的data.frames:
EDG
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
Run Code Online (Sandbox Code Playgroud)
VERT
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
Run Code Online (Sandbox Code Playgroud)
那么,这导致上面提到的没有边缘的节点云.如果我将"符号"列更改为我放在节点上的实际标签(根据包的要求,遵循Links'表的顺序),也是如此.
请注意,该软件包说明了此示例在此示例中的使用,如果您打开所使用的数据集(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 )
Run Code Online (Sandbox Code Playgroud)
每个其他属性都正确显示(节点大小,图例,颜色),但我一直看不到边缘.在我的数据集中某处肯定存在错误,我无法以任何方式找到它.
小智 5
我遇到了同样的问题(simpleNetwork正常工作,forceNetwork首先只显示节点,没有边缘,然后根本没有显示).
问题(当你"重建从0开始编号的数据帧"时,你可能修复了这个问题)是原始的链接数据edg,从1开始而不是0?
networkD3文档http://christophergandrud.github.io/networkD3/有这样的说明:
注意:您可能习惯于R的基于1的编号(即从R开始计数从1开始).但是,networkD3图是使用JavaScript创建的,它是基于0的.因此,您的数据链接需要从0开始.
回覆.不正确的数据类型,我最初认为可能是问题,我测试了所有不同的列(NodeID的因子变量除外)as.numericvs as.integer- 但现在已经将我的数据更正为0而不是基于1,我的forceNetwork显示适用于任何一种数据类型.
希望这可以帮助!