GraphViz-链接边缘标签与另一个点图



我一直在寻找解决方案,但是我似乎找不到将边缘标签链接到另一个GraphViz点图的方法。例如,如果我有一个称为" mydotimage2.svg"的图,则从以下内容中产生:

digraph G
{
    graph [compound = true];
    subgraph cluster_0
    {
        node [style = bold];
        "A" "B" "C";
    }
    subgraph cluster_1
    {
        node [style = bold];
        "One" "Two" "Three";
    }
    "A" -> "One" [lhead = cluster_1, ltail = cluster_0, label = "Falafel", href = "~/workspace/GraphViz/mydotimage1.svg"]
}

如果我在我的终端中创建'myDotimage2.svg'SVG图像:

dot -T svg mydotimage2.dot > mydotimage2.svg

图像在我的浏览器中打开良好,并且可以单击的图像中的边缘标签从A到一个,但也不打开MyDotimage1.svg,它也位于同一GraphViz目录中。有谁知道如何做到这一点?我真的很感激。预先感谢。

您应该使用相对路径。也就是说,而不是href = "~/workspace/GraphViz/mydotimage1.svg"使用href = "./mydotimage1.svg"

btw,而不是使用管道重定向(>),您可以将所需的输出文件名指定为dot的参数。
只需将-omydotimage2.svg附加到命令行。其中" mydotimage2.svg"是您要写入的文件名。

这是我在计算机上观察到的,我想这是一个普遍的问题:

graphviz确实将tilde ~扩展到,但不会删除tilde。就我而言,当我单击图中的超链接时,我将/home/rainer/~/workspace/GraphViz/mydotimage1.svg视为图像位置。显然不存在。对我来说看起来像个错误...

解决方案/解决方法是用您的主文件夹路径替换脚本中的~,在我的情况下

href = "/home/rainer/workspace/GraphViz/mydotimage1.svg"

可以按预期工作。

最新更新