GraphViz - 子图的对齐

2024-03-01

I'd like to draw a diagram like this. desired

But the only diagram I can draw is: current

我使用的代码:

graph [rankdir = LR]

node [shape=box]

x1;x2;x3;y1;y2;y3;y4;y5;y6;y7;y8;

node [shape=oval]

ind60;dem60;dem65

{x1,x2,x3} -> ind60[arrowhead=none arrowtail=normal dir=both]

{y1,y2,y3,y4} -> dem60[arrowhead=none arrowtail=normal dir=both]

dem65 -> {y5,y6,y7,y8}

ind60->dem60  dem60->dem65  ind60->dem65

怎样才能画出想要的图呢?


实现您想要实现的目标的第一步,使用rank=same, 看不见的边缘, groups, and constraint=false:

digraph {

node [shape=box]
{
    rank=same;
    y1;y2;y3;y4;
}

dem60[shape=oval];
{y1;y2;y3;y4} -> dem60 [dir=back];

{
    rank=same;
    x2 [group=left];
    ind60[shape=oval];
    dem65[shape=oval];
    y6 [group=right];

    x2 -> ind60 [dir=back];
    ind60 -> dem65
    dem65 -> y6;
}

// Invisible edges to order vertically node groups
edge[style=invis];
x1[group=left];
x3[group=left];
x1 -> x2 -> x3;
node[group=right];
y5 -> y6 -> y7 -> y8;

node[group=""]
edge[style=solid]
ind60->dem60
dem60->dem65

edge[constraint=false];
ind60 -> x1;
ind60 -> x3;
dem65 -> y5;
dem65 -> y7;
dem65 -> y8;
}
  • group强制节点(同一组)的垂直对齐。
  • rank=same使节点保持相同的等级。
  • 不可见边缘强制垂直组内的排名顺序。
  • constraint=false删除某些边的约束计算。
  • dir=back反转显示的边缘方向。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GraphViz - 子图的对齐 的相关文章

  • 如何从Java代码生成UML图(尤其是序列图)?

    如何从现有的 Java 代码生成 UML 图 尤其是序列图 ObjectAid UML 资源管理器 http www objectaid com home 是我用过的 这很容易已安装 https www objectaid com inst
  • graphviz - 如何在矩形布局中以循环方式排列节点?

    预脚本 就在我完成这些示例时 我看到了 往返 流程主题 https stackoverflow com questions 18877045 graphviz how to create a roundtrip flow 看起来不错 既然我
  • 如何从java调用GraphViz

    如何从java调用GraphViz以及如何使用java调用GraphViz函数 为了访问 GraphViz 库来构建点图 需要包含哪些必要的 jar 文件 有没有生成点图的示例程序 Check this http www loria fr
  • 环边太长

    在下面的点图中 之间的边handleClick and onSelect in COLOROPTION太长了 如何将其变成紧密循环 如果也这样就更好了DIV离右边有点远COLOROPTION 循环边是option p4 e gt optio
  • 捕获 pygraphviz 图像渲染而不保存到文件?

    pygraphviz 是否允许您将图像渲染到变量 我想通过网页提供动态图像 而无需将图形渲染到磁盘 根据到源代码 https github com pygraphviz pygraphviz blob 1f7f314530080c152a4
  • 在graphviz中从节点到边绘制边

    是否可以在 graphviz 中从节点绘制一条边到现有边的中心 我想复制化学或生物网络中常见的这种类型的反应图 Thanks Peter 是的 您可以使用不可见节点 例如这个例子 https stackoverflow com questi
  • Python 决策树 GraphViz

    我正在尝试使用 scikit learn 实现决策树 然后使用 Graphviz 可视化该树 我认为这是可视化 DT 的标准选择 我正在使用 PyCharm anaconda Python 2 7 和 OS X El Capitan 据我所
  • Graphviz - 如何使标签中的文本左对齐?

    我正在使用 graphviz 来可视化我正在解析的语言的 AST 我想包含源代码 作为标签 但 graphviz 对齐标签内的文本 这会扰乱我的缩进 并且代码对缩进敏感 这是问题的示例 第二行代码不应缩进 这是生成的 dot 文件的相关部分
  • Networkx:可视化 MultiGraph 时重叠边缘

    以下多重图使用 graphviz neato 正确绘制 即平行边不重叠 生成 png 如图所示 这个答案 https stackoverflow com questions 14943439 how to draw multigraph i
  • 如何可视化 sklearn GradientBoostingClassifier?

    我训练过一个梯度提升分类器 http scikit learn org stable modules generated sklearn ensemble GradientBoostingClassifier html sklearn en
  • graphviz 中跨越多行的记录

    我试图用点语言可视化一个相当复杂的结构 因为记录很大 所以我想把代码写成多行 所以而不是 A11 label A 11 Access Control A 11 1 Business requirements for access contr
  • 以前没有发生过的访问冲突

    我正在 P 调用 Graphviz如图所示 http implicitoperator com blog 2009 12 24 rendering an in memory graphviz image with c html 当我写那篇博
  • GraphViz:未使用新安装程序设置 Windows PATH,从 R 调用时出现问题

    在 R 库中 我使用dot程序 来自 GraphViz 来生成一些图形 通常为 png 格式 dot是一个通常的可执行文件 我通过systemR 命令 到目前为止 一切都运行良好 因为 GraphViz 安装程序正在添加dot到 PATH
  • Azure 数据工作室架构图?

    我最近刚刚下载了带有 SQL Server Express 的 Azure Data Studio 因为我使用的是 Linux 是否有实体关系图表功能 就像 SQL Server Management Studio 具有数据库图表功能一样
  • 如何用UML表示通信协议?

    在我的 UML 模型中 我有一个系统及其相互通信的子组件 例如 我有一台计算机和一个遥控机器人 它们通过蓝牙进行通信 目前图中的流程类似于 计算机 触发 遥控车 的 setVelocity 函数 在这一点上 我想通过说以下的话来完善沟通 计
  • 如何通过消除蛇行和更好的边缘交叉来影响 Graphviz/dot 来制作更好的控制流图?

    我正在为 Python 程序绘制控制流图 并希望影响哪种边缘不 应交叉 有没有办法做到这一点 考虑这个简单的 Python 程序 try a 1 except a 2 else a 3 以及一个点程序来表示通过生成的控制流https git
  • 最容易实现的 Voronoi 图算法? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 实现 Voronoi 图的简单算法有哪些 我找不到任何专门以伪形式出现的算法 请分享一些 Vorono
  • 将 doxygen 的图表从上到下方向翻转为从左到右

    doxygen 图为 includes and 包含在 创建的嵌套深度从上到下递增 使用 1 8 5 由于我们的图大多是带有许多节点的浅图 这会导致非常宽的图和丑陋的水平滚动条 有没有办法教 doxygen 以从左到右的方向创建这些图 就像
  • 如何更改 graphviz 的默认字体大小?

    我使用 doxygen graphviz 来记录我的代码 graphviz 在生成图像方面做得很好 有什么方法可以更改 graphviz 的默认字体大小吗 默认值为 14 但我想使用 12 更改单个元素 例如节点 子图 边缘等 的字体大小确
  • 在绘制图形之前删除边数为 0 的节点(dot、graphviz)

    在绘制之前如何从图表中删除没有边缘的节点dot Tpng mcve gv o mcve png Current Result Wanted Result 阅读文档并搜索网络我发现以下内容answer http www graphviz or

随机推荐