PNG文件未在graphviz点程序中呈现

时间:2019-07-03 09:21:09

标签: graphviz diagrammer

我想将图像用作.dot项目中嵌入的Rmarkdown程序中的节点。 我不知道如何使用DiagrammeR使图像文件出现在输出中。 节点和类似HTML的标签似乎有效,但IMG属性却无效。

到目前为止,我的代码如下:

digraph structs {

  struct1 [shape=none, label=
    <<TABLE BORDER=\"0\" CELLBORDER=\"1\" CELLSPACING=\"0\" POINT-SIZE=\"8\"> 
      <TR>
        <TD ROWPAN=\"2\">
          <FONT POINT-SIZE=\"16\">
            Car
          </FONT>
        </TD>
      </TR>
      <TR>
        <TD></TD>
      </TR>
      <TR>
        <TD>
          <FONT POINT-SIZE=\"10\">
            Engine Size
          </FONT>
        </TD>
      </TR>
      <TR>
        <TD>
          <FONT POINT-SIZE=\"10\">
            Paint Job
          </FONT>
        </TD>
      </TR>
      <TR>
        <TD></TD>
      </TR>
      <TR>
        <TD>
          <FONT POINT-SIZE=\"10\">
            AutoDrive ()
          </FONT>
        </TD>
      </TR>
    </TABLE>>
    ];

  car1 [shape=none, label=\"\", image=\"../resources/images/car-clip-art.png\"];

<-- This doesn't work either. And this comment is *not* in the program -->
car1 [label=
<<TABLE> 
<TR>
  <TD>
    <IMG SCALE=\"FALSE\" SRC=\"../resources/images/car-clip-art.png\"/>
  </TD>
</TR>
</TABLE>>
];

  struct1->car1
}

这是输出图像:

output of dot code

如何使图像显示在输出中?

1 个答案:

答案 0 :(得分:0)

也许R加载的graphviz库的版本没有图像加载功能。您能找到它,并查看其符号(使用Windows上合适的任何工具)以查看定义了哪些loadimage()风格吗?例如gd_loadimage,cairo_loadimage,gdiplus_loadimage等。也请尝试将图像转换为JPEG,因为它通常是图像格式(或GIF)中最底下的公分母。

还可以尝试使用其他文件路径,绝对路径或没有目录的路径,以防对路径语法有误解。我想知道路径分隔符在Windows中是“ /”还是“ \”。当然,许多程序对此都非常灵活。我相信我们的代码为此会移交给一个较低级的库。

我不确定示例中的所有转义和嵌套<>,但听起来好像已经弄清楚了,必须正确。

Stephen North