我正在研究一个项目来绘制移动操作系统更新时间,使用来自R的D3中的forceNetwork。我已经使用simpleNetwork成功绘制了一些基本的迭代,但无法获得更复杂的网络以正确绘制
已阅读有关此主题的一些帖子,包括此帖子(forceNetwork not displaying any edges),但尚未能推断出答案。
与上面帖子中的人一样,我能够绘制具有大量节点的图形,但无法使它们连接。以下是我希望通过节点实现的目标:
对于链接,我想相应地建模:
我已创建" misNodes"和#" misLinks"以下数据:
misNodes< - data.frame(operating.system,OEM,Device) misLinks< - data.frame(承诺,更新,how.long)
我已经用传奇和关键的方式取得了一些进展,但是还没有能够以理想的方式进行结构,也没有取得很大的成功来绘制所需的联系。到目前为止,这是我最好的尝试:
#Try plotting
forceNetwork(Links=misLinks, Nodes=misNodes, Source="promised", Target="updated", Value="how.long", NodeID="Device", Group="OEM", width=1000, height=1000, opacity=1, zoom=TRUE, legend=TRUE, bounded=TRUE) #doesn't work, but making progress
forceNetwork(Links=misLinks, Nodes=misNodes, Source="promised", Target="how.long", NodeID="Device", Group="OEM", width=800, height=800, opacity=1, zoom=TRUE, legend=TRUE, bounded=TRUE)
forceNetwork(Links=misLinks, Nodes=misNodes, Source="promised", Target="how.long", Value="promised", NodeID="Device", Group="OEM", width=800, height=800, opacity=1, zoom=TRUE, legend=TRUE, bounded=TRUE)
str(misLinks)
'data.frame': 74 obs. of 3 variables:
$ promised: num 1 1 1 1 1 1 1 1 1 1 ...
$ updated : num 1 1 1 1 1 1 1 1 1 0 ...
$ how.long: num 6 3 1 4 1 6 6 6 6 0 ...
str(misNodes)
'data.frame': 74 obs. of 3 variables:
$ operating.system: Factor w/ 2 levels "Android","iOS": 1 1 1 1 1 1 1 1 1 1 ...
$ OEM : Factor w/ 7 levels "Apple","HTC",..: 2 2 2 2 2 2 2 3 3 3 ...
$ Device : Factor w/ 74 levels "Atrix HD","Atrix HD (developer edition)",..: 7 54 55 56 57 58 59 22 20 21 ...
任何提示都将不胜感激......
编辑:添加了一些数据:
head(misLinks)
promised updated how.long
1 1 1 6
2 1 1 3
3 1 1 1
4 1 1 4
5 1 1 1
6 1 1 6
head(misNodes)
operating.system OEM Device
1 Android HTC Droid DNA
2 Android HTC One
3 Android HTC One (developer edition)
4 Android HTC One (dual sim)
5 Android HTC One (Google Play Edition)
6 Android HTC One Max
以上是上面第三个图表显示的内容(请注意,我将光标放在"图像中的一个"节点上以说明...出于某种原因,那些连接):