graphviz: узлы изображений SVG не вставляются, если вывод SVG

Я создал небольшое изображение 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 файлами работают нормально.

2 ответа

Я боролся с этой проблемой в течение дня или около того, думал, что поделюсь решением, которое я нашел.

Я пытался использовать потрясающие иконки внутри моего графика graphviz.

Svgs, которые вы получаете от fontawesome, не отформатированы в соответствии со стандартом xml. Им не хватает декларации xml.

Убедиться, что svg, который вы пытаетесь импортировать, начинается со следующей строки, решило проблему для меня.

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

У меня была такая же проблема. Файл svg был правильно создан, но вызвал эти ошибки.

SVG хранился в UTF-8 со спецификацией. Ошибка исчезла при сохранении без BOM. Других изменений не потребовалось.

Другие вопросы по тегам