【问题标题】:Increase curvature of connecting arcs增加连接弧的曲率
【发布时间】:2022-01-19 06:16:40
【问题描述】:

考虑:

digraph D {
    0[pos="0,0!"]
    1[pos="0,5!"]
    0 -> 1[label=0.25]
    1 -> 0[label=0.50]
}

neato engine 下渲染,这给出:

有没有办法增加/控制连接弧的曲率,使渲染类似于下面的手绘注释:


编辑添加:虽然我不必坚持使用neato,但在我的应用程序中保持节点pos 坐标值很重要。

【问题讨论】:

  • 1.它必须是neato(而不是dot)吗? 2. 固定(设置)节点位置值重要吗?
  • 1.它不必是整洁的。 2. 将节点固定到它们的位置值很重要

标签: graphviz neato


【解决方案1】:

[可能有更好的方法,但边缘很难解决]
此解决方案需要neato -n(请参阅https://graphviz.org/faq/#FaqDotWithNodeCoords)和(https://graphviz.org/docs/attrs/pos/
当输入先前的答案时,不同版本的 neato 似乎会产生不同的结果。此输入文件应适用于旧版和新版 neato

digraph D {
    // next  lines from the Graphviz FAQ
    overlap=false
    splines=true
    
    0[pos="0,0!"]
    1[pos="0,5!"] 
    // stick an invisible node in the middle, to force the edges out
    half [pos="0,2.5!" width=1.1 height=1  style=invis]  
    0:nw -> 1:sw [label=0.25]
    1:se -> 0:ne [label=0.50]
}

捐赠:

【讨论】:

  • 只需一次更改即可完美运行。我必须设置比例= 1。如您的答案所示,比例= 72,图表看起来非常“遥远”。您还帮助我解决了我之前关于缩放的问题。 “遥远”一词与该线程相同。
  • 我正在在线graphviz引擎上尝试这个。当我添加其他节点时,两个单独的有向弧似乎合并为一个双向弧。查看 gif imgur.com/a/1a7UQEl 您必须单击 gif 才能看到动画。你能让我知道会发生什么吗?另外,我尝试使用命令行。这会产生完全不同的输出。见imgur.com/a/nSD9qRA你能帮忙吗?
猜你喜欢
  • 2018-01-29
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
  • 2013-06-19
  • 2018-01-25
  • 1970-01-01
  • 2020-10-24
相关资源
最近更新 更多