Как использовать SVG для пользовательских форм узлов в графвизе? - PullRequest
14 голосов
/ 02 сентября 2011

Я пытаюсь использовать graphviz (точнее, инструмент командной строки dot) для генерации SVG-макета графика.Я хотел бы использовать SVG-файлы, сгенерированные Inkscape , для определения форм узлов, и я следовал инструкциям graphviz .Я вывожу SVG, так что, теоретически, это должно быть легко сделать, объявив фигуры как <symbol> s и <use>, указав их на диаграмме. Это электронное письмо заставляет меня поверить, что эта функциональность была реализована, и я просто не могу понять, как ее использовать.

Я попытался получить атрибут image узла, указывающий наПользовательская форма файла SVG.Я также попытался установить shape для узла на custom и указать shapefile на SVG фигуры.dot жалуется, если я поставил неверное имя файла, и его график плагинов предполагает, что он может читать SVG.Я предполагаю, что либо я использую неправильные атрибуты, либо что-то не так с файлами SVG, которые я пробовал.

Для чего бы это ни стоило, у меня установлен viewBox на <svg>приписывать.

1 Ответ

9 голосов
/ 05 сентября 2011

graphviz поддерживает только ввод SVG, где атрибуты width и height установлены на <svg> с использованием абсолютных единиц (пикселей, дюймов и т. Д.).Inkscape выводит height="100%" width="100%" viewBox="0 0 width_in_pixels height_in_pixels" в качестве атрибутов элемента <svg>.

Я отправил отчет об ошибке , и разработчик Graphviz указал мне на справку для атрибута изображения , который описывает требования для использования SVG в пользовательских формах узлов.

...