graphviz - 创建循环时强制节点保持在顶部
问题描述
我有以下图表:
digraph G {
u1, u2, u3, u5 [ shape = oval, style=filled, fillcolor="palegreen"];
u3 -> v3 -> v5_0 -> v5_1 -> v1;
u5 -> v8 -> v5_1;
v1 -> v5_2 -> v2;
u1 -> v2;
v2 -> u2;
}
现在,我想要u2
和u3
成为同一个节点,从某种意义上说,我希望底部的最后一个顶点有一条边上升到渲染图顶部的 u3。但如果我渲染:
digraph G {
u1, u2, u3, u5 [ shape = oval, style=filled, fillcolor="palegreen"];
u3 -> v3 -> v5_0 -> v5_1 -> v1;
u5 -> v8 -> v5_1;
v1 -> v5_2 -> v2;
u1 -> v2;
v2 -> u3;
}
该u3
节点最终位于图表的中间。我如何强迫u3
自己处于领先地位?我尝试使用rank=min
它,但这没有帮助。
解决方案
2个可能的解决方案:
在“违规”边缘上使用constraint=false ( https://graphviz.org/docs/attrs/constraint/ )
推荐阅读
- php - Ajax 不提交 WordPress 表单
- python - InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0)
- c - 为什么在尝试填充结构时出现分段错误(核心转储)或总线错误(核心转储)?
- mysql - 使用 group_concat mysql 查询时如何停止重复结果
- java - Java while循环在满足所有条件之前停止
- botframework - 使用机器人框架 SDK 中的 RenderedAdaptiveCards 自定义自适应卡片外观
- java - 获取数据时动态传递文件名?硒-java
- ios - 查看 Apple 钥匙串内容
- javascript - javascript 中 Fetch 和 XMLHttpRequest 的问题
- sublimetext - 我应该如何在平面文件中找回丢失的代码?