当前位置: 首页 > 知识库问答 >
问题:

用于可视化子图DAG的建议工具

司徒兴德
2023-03-14

我正在编写一个程序,它基本上处理一个子图DAG,即图是一个有向无环图,图的每个节点都是一个子图。例如,对于DAG中的边a->b,节点a是三角形的子图,节点b是四个团的子图。边a->b表示通过增加一个子图顶点和三个子图边从三角形扩展到四个团。

 +=======+        +=======+
 | a---b |        | a---b |
 | |  /  |        | |\ /| |
 | | /   | =====> | | X | |
 | |/    |        | |/ \| |
 | c     |        | c---d |
 +=======+        +=======+
     A                B  

出于多种目的,我想将这个子图DAG可视化,即可视化可以同时显示DAG的整个结构和所有节点的子图。另外,如果它也能显示顶点和边的性质,那就更好了。

  1. 对于DAG边缘a->b,节点a位于节点b之上。(GraphViz现在将所有DAG节点放在同一行中)
  2. 正确放置节点,使DAG边之间的交集最小化。

还有其他的选择吗?提前感谢!

共有1个答案

姜乐家
2023-03-14

如果我理解您的要求,我认为这个点程序非常接近:

digraph dag {
  compound=true  // needed for A->B edge (kludge, but documented)
  edge [dir=none]  // no arrowheads
  subgraph clusterA{
   labelloc=b
   label="A"
   Aa -> Ab // [constraint=false]  // keep on same rank
   Ab -> Ac
   Aa -> Ac
   {
   rank=same
   Aa [label="a"]
   Ab [label="b"]
   }
   Ac [label="c"]
}
  subgraph clusterB{
   labelloc=b
   label="B"
   Ba -> Bb // [constraint=false]  // keep on same rank
   Bc -> Bd // [constraint=false]  // keep on same rank
   Bb -> Bc
   Ba -> Bc
   Bb -> Bd
   Ba -> Bd
   {
   rank=same
   Ba [label="a"]
   Bb [label="b"]
   }
   {
   rank=same
   Bc [label="c"]
   Bd [label="d"]
   }
}
Ac -> Ba [dir=forward ltail=clusterA lhead=clusterB  minlen=2] 
}
 类似资料:
  • 要创建可视化视图: 点击左侧导航栏的 Visualize 。 点击 Create new visualization 按钮或 + 按钮。 选择视图类型: 基础图形 Line, Area and Bar charts 在X/Y图中比较两个不同的序列。 Heat maps 使用矩阵的渐变单元格. Pie chart 显示每个来源的占比。 数据 Data table 显示一个组合聚合的原始数据。 Met

  • 我写了一个关于梅琳达·格林的Buddhabrot方法的变体,用于可视化曼德尔布罗特集。这是: http://pastebin.com/RH6dD77F 为了制作一个动画,我渲染了数百张略有变化的单独图像。这种变化是生成函数的系数的变换,就好像它们是系数空间中的抽象向量一样。所有这些都在视频中产生了不可思议的结构... http://www.youtube.com/watch?v=S2uMAvL_5

  • 问题内容: 我需要用于支持动态可视化的图形的Java库。我需要使对象在顶点之间移动,这必须显示出来。不需要3D,2D表示就足够了。 我目前正在使用 JUNG, 但是它非常有限,据我所知,它更多地用于静态图。 我已经看过这个问题,但是 JGraphT 似乎也没有这样做。 后期编辑: 在授予答案之前,我等待完成该项目。我最终保留了JUNG,同时还使用了UBIGraph(自2012年以来一直处于僵局)作

  • 本文向大家介绍利用pyecharts实现地图可视化的例子,包括了利用pyecharts实现地图可视化的例子的使用技巧和注意事项,需要的朋友参考一下 pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数

  • Navicat Data Modeler 为视觉化地创建视图提供了一个有用的工具,称为“视图创建工具”。它让你不需要 SQL 知识就能创建和编辑视图。即使你熟悉 SQL,便捷而流畅的图形界面也可以让你更轻松地创建关系并可视化视图。 在视图设计器中,点击 钮来打开可视化的视图创建工具。 所有数据库对象都显示在左侧的“对象”窗格中。在中间的窗格中,它分为两部分:上面的“图表”窗格和下面的“准则”窗格。

  • Navicat Data Modeler 为视觉化地创建视图提供了一个有用的工具,称为“视图创建工具”。它让你不需要 SQL 知识就能创建和编辑视图。即使你熟悉 SQL,便捷而流畅的图形界面也可以让你更轻松地创建关系并可视化视图。 在视图设计器中,点击 “视图创建工具”按钮来打开可视化的视图创建工具。 所有数据库对象都显示在左侧的“对象”窗格中。在中间的窗格中,它分为两部分:上面的“图表”窗格和下