将Graphviz节点分组为表

将Graphviz节点分组为表,graphviz,Graphviz,我得到了以下Graphviz集群,其中>100个节点呈现为一个列表,看起来非常松散 我想让这个集群看起来像一个有n列和k行的表。 下面是一个示例,说明了图表的外观: 有人知道如何达到预期的结果吗?下面是我试图重现上图的代码: main=GraphViz.new(:G,rankdir:“TB”) rows=get.to_i columns=get.to_i 1.最多(行)不超过|行| row#u graph=GraphViz.new(“#{row}_row”,rankdir:“LR”) 1.最

我得到了以下Graphviz集群,其中>100个节点呈现为一个列表,看起来非常松散

我想让这个集群看起来像一个有n列和k行的表。 下面是一个示例,说明了图表的外观:

有人知道如何达到预期的结果吗?下面是我试图重现上图的代码:

main=GraphViz.new(:G,rankdir:“TB”)
rows=get.to_i
columns=get.to_i
1.最多(行)不超过|行|
row#u graph=GraphViz.new(“#{row}_row”,rankdir:“LR”)
1.最多(列)do |列|
节点数量=列+列*(第1行)
行图。添加节点(“节点”{row}{column}),标签:“节点”{node#num}”,形状:“框”)
结束
结束
输出(png:“table_graph.png”)
找到了一个解决方案:

digraph {
  node [shape=box width=1]
  {rank=same Node1 Node2 Node3 Node4}
  {rank=same Node5 Node6 Node7 Node8}
  {rank=same Node9 Node10 Node11 Node12}
  Node1 -> Node5 -> Node9 [style=invis]
}

通过
dot2ruby
tool

可以生成相应的ruby代码。请将您的问题包括您尝试过的点文件、这些输入文件的结果以及输出应该是什么样子。Graphviz的语法正好可以做到这一点:,向下滚动页面以获取示例。@Progman抱歉,我使用ruby graphviz库,没有使用dot lang的经验,我已经添加了输出示例,我需要@МааСааааааМаМааафаааа请您的问题包括您在ruby Graphvi(可能你需要和rank一起玩)。