GLEE 是 Microsoft Research 的 Lev Nachmanson  开发的一个.NET 图形布局和查看的工具, 遵循了 Sugiyama 方案, 可以生成有层次的的布局, 自然地使用图形表示流程的信息, 如程序流程, 状态机, 类图等等.. 项目主页: http://research.microsoft.com/users/levnach/GLEEWebPage.htm

我用它来画语法分析中的状态图..非常方便.. 只需要下面几句代码便可以呈现整个语法分析的状态流程:

            Graph graph = new Graph("States");
            LRStateContainer states = new LRStateContainer(g);
            foreach (LRState st in states)
            {
                foreach (Symbol nextSym in st.FollowStates.Keys)
                {
                    graph.AddEdge(st.GetShowText(),
                                                      nextSym.Name, st.FollowStates[nextSym].GetShowText());
                }
            }
            graph.GraphAttr.NodeAttr.Shape = Shape.Box;
            graph.GraphAttr.Orientation = Microsoft.Glee.Drawing.Orientation.Portrait;
            graph.GraphAttr.LayerDirection = LayerDirection.LR;
            gViewer1.Graph = graph;

效果如下:

GLEE: Graph Layout Execution Engine from Microsoft Research
 
GLEE 主页上的示例图的内容有点 tricky: (Opera, FireFox copy IE5)
GLEE: Graph Layout Execution Engine from Microsoft Research

相关文章:

  • 2021-09-29
  • 2021-08-30
  • 2021-08-16
  • 2022-12-23
  • 2022-12-23
  • 2021-06-21
  • 2021-12-26
猜你喜欢
  • 2021-05-23
  • 2022-01-06
  • 2021-11-11
  • 2021-12-29
  • 2022-12-23
  • 2021-05-17
  • 2021-10-09
相关资源
相似解决方案