用R-igraph求树图的x,y坐标

用R-igraph求树图的x,y坐标,r,igraph,R,Igraph,我使用R创建一组x,y坐标来绘制组织结构图,我正在努力获得一个非径向的布局。我将在另一个应用程序中使用这些坐标来绘制图形,因此需要坐标而不是绘图 “我的数据”是一个两列数据框,显示报告关系和列EmployeeID、ManagerID 我正在使用包igraph,首先使用以下内容创建一个图形: g<-graph.data.frame(dataframe) 这应该给我x,y坐标,但是当我看l时,我得到如下结果: [,1] [,2] [1,] 0.00000

我使用R创建一组x,y坐标来绘制组织结构图,我正在努力获得一个非径向的布局。我将在另一个应用程序中使用这些坐标来绘制图形,因此需要坐标而不是绘图

“我的数据”是一个两列数据框,显示报告关系和列EmployeeID、ManagerID

我正在使用包igraph,首先使用以下内容创建一个图形:

g<-graph.data.frame(dataframe)
这应该给我x,y坐标,但是当我看l时,我得到如下结果:

       [,1]           [,2]
 [1,]  0.000000e+00    3    
 [2,]  0.000000e+00    3    
 [3,]  0.000000e+00    1    
 [4,]  1.899762e-52    3
 [5,]  1.224168e-17    3   
 [6,]  6.582031e-85    3
 [7,] 5.626306e+175    3
再次绘制图形:

plot(g,l)
给我一个警告信息:

In if (axes) { :
  the condition has length > 1 and only the first element will be used
和之前一样,还有径向图。此外

summary(g)
给出:

IGRAPH DN-- 25 24 -- 
attr: name (v/c)

似乎是Reingold-Tilford算法实现中的一个bug;至少布局第7行的X坐标非常奇怪。我会在上问同样的问题,并发送一个小示例图表,作者可以在上面重现您的问题

编辑:检查邮件列表上发送的示例图形后,似乎1)这是Reingold Tilford实现中的一个错误,2)如果您反转所有边,使它们在树中指向下方(从父到子),则可以解决此问题因为这是Reingold-Tilford布局算法所假设的,它会给您错误的结果,因为它没有为指向“错误”方向的边做好准备。igraph的更高版本将包括解决该问题的补丁。谢谢你的提醒


编辑2:对于记录,上述缺陷已解决,并将包含在igraph 0.6.1中。有关更多信息,请参阅。

谢谢;更新了我上面的回复,并将回复发布到邮件列表中。
IGRAPH DN-- 25 24 -- 
attr: name (v/c)