graphviz - 多特历史事件年表

标签 graphviz dot

我正在尝试创建一个将年份与 DOT 中的历史事件关联起来的时间线,但不知何故与 DOT 用户指南不一致。

这是我的第一次尝试:

digraph { 

    ratio=0.70 ranksep=.75 

    {

        node [shape=plaintext, fontsize=16];
        past -> 1933 -> 1943 -> 1988 -> 2001 -> 2015 -> future;

        node [shape=plaintext, fontsize=14];
        a -> b -> c -> d -> e -> f -> g;

        {rank=same past -> a }
        {rank=same 1943 -> c }
        {rank=same future g }
    }
}

左侧的时间线取自用户指南。右侧的行旨在包含有关历史事件的相应信息,例如对于 1943 年,信息为 c

输出如下所示:

enter image description here

但是,我希望右侧的线更靠近左侧时间线。右侧的历史事件不应通过箭头相互连接。

不知何故,fg 之间的连接也困惑了。

最佳答案

ratioranksep 都会影响节点之间的距离。我建议使用一个另一个来看看有什么区别。删除两者会缩短距离。

要删除右侧事件之间的箭头,可以将边缘样式设置为“invis”。

运行发布的 DOT(查看结果图像)不会显示 fg 之间有任何奇怪的连接...

使用以下点:

digraph {

    node [shape=plaintext, fontsize=16];

    past -> 1933 -> 1943 -> 1988 -> 2001 -> 2015 -> future;

    {
        node [fontsize=14];
        edge [style=invis];

        a -> b -> c -> d -> e -> f -> g;
    }       

    {rank=same past -> a }
    {rank=same 1943 -> c }
    {rank=same future  g }   
}

产生这个结果:

enter image description here

关于graphviz - 多特历史事件年表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526614/

相关文章:

graphviz - 如何在graphviz中管理节点之间的距离?

jenkins - 列出 Jenkins 插件和依赖项(带图)

linux - 图形对于开罗渲染器位图来说太大了

python - Graphviz:为具有彩虹效果的线条着色

graph - 如何在graphviz中强制边缘的位置?

dot - 如何使用 GraphViz DOT 创建循环图?

ubuntu - Graphviz 安装 Ubuntu 14.04

windows - Graphviz:如何从 .dot 到图表?

graphviz - 如何使我的 Graphviz 图形具有大文本?

python - 我可以在 python 3 中腌制然后在 python 2 中取消腌制吗?