强制两个节点之间的对角线边缘
Forcing a diagonal edge between two nodes
我的问题是 - 是否可以在图中的两个节点之间强制形成对角线?
假设两个节点之间只有一个link。
digraph G {
rankdir=TB
a -> b;
}
这是呈现的内容:
这(模拟)是我想要的:
假设 rankdir 应该保持完整(TB = 从上到下)。我只想控制一条边的角度方向
我在文档中没有看到任何关于如何实现这一点的内容(查看 here)。
所以我的问题是,这种行为是否可能,如果可能的话,或者我是在要求不可能的事情吗?
可能有不同的方法可以解决这个问题,但是在没有详细了解您的需求的情况下,我不确定这是否真的有帮助。
例如您可以尝试使用 north-east-south-west 扩展名:
digraph G {
rankdir=TB
a:se -> b:nw;
}
通过隐藏节点、隐藏连接和适当的样条设置,您可以获得:
digraph G {
splines=line
rankdir=TB
a:s -> b:n;
i->b [style=invis]
a-> i [style=invis]
{rank= same b i [style=invis]}
}
我认为与您原来的 mock-up 更接近。这值得么?你决定。 :)
我的问题是 - 是否可以在图中的两个节点之间强制形成对角线?
假设两个节点之间只有一个link。
digraph G {
rankdir=TB
a -> b;
}
这是呈现的内容:
这(模拟)是我想要的:
假设 rankdir 应该保持完整(TB = 从上到下)。我只想控制一条边的角度方向
我在文档中没有看到任何关于如何实现这一点的内容(查看 here)。
所以我的问题是,这种行为是否可能,如果可能的话,或者我是在要求不可能的事情吗?
可能有不同的方法可以解决这个问题,但是在没有详细了解您的需求的情况下,我不确定这是否真的有帮助。
例如您可以尝试使用 north-east-south-west 扩展名:
digraph G {
rankdir=TB
a:se -> b:nw;
}
通过隐藏节点、隐藏连接和适当的样条设置,您可以获得:
digraph G {
splines=line
rankdir=TB
a:s -> b:n;
i->b [style=invis]
a-> i [style=invis]
{rank= same b i [style=invis]}
}
我认为与您原来的 mock-up 更接近。这值得么?你决定。 :)