graphviz:如果输出为 SVG,则不会插入 SVG 图像的节点

Posted

技术标签:

【中文标题】graphviz:如果输出为 SVG,则不会插入 SVG 图像的节点【英文标题】:graphviz: Nodes of SVG images do not get inserted if output is SVG 【发布时间】:2018-09-23 22:35:44 【问题描述】:

我创建了一个小的 SVG 图像。它在 Firefox 中渲染得很好。 然后我创建了一个graphviz 包含(除其他外)的文件:

  mynote [label="", image="mybox.svg"];

然后我在上面运行了这个:

  $ dot -Tsvg:svg:core infile.dot -o outfile.svg

我得到以下信息:

Warning: "mybox.svg" was not found as a file or as a shape library member
Warning: No or improper shapefile="mybox.svg" for node "mynote"

PS:使用 png 文件正常工作。

【问题讨论】:

【参考方案1】:

我已经为这个确切的问题苦苦挣扎了一天左右,我想我会分享我找到的解决方案。

我试图在我的 graphviz 图表中使用 fontawesome 图标。

您从 fontawesome 获得的 svg 格式不符合 xml 标准。他们缺少 xml 声明。

确保您尝试导入的 svg 以以下行开头为我解决了这个问题。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

【讨论】:

以上是关于graphviz:如果输出为 SVG,则不会插入 SVG 图像的节点的主要内容,如果未能解决你的问题,请参考以下文章

导出 SVG 时,Cytoscape 等效于 graphviz URL/href 节点属性?

Graphviz 中的 CSS 样式表

决策树可视化Graphviz中文乱码

使用 jQuery 和 AJAX 提交表单如果 return 设置为 false 则不会将值插入 SQL 以防止重定向

了解 export_graphviz 的决策树输出

Graphviz,gvpr 无法识别