2011-09-01 37 views
10

Estoy tratando de usar graphviz (la herramienta de línea de comandos dot, para ser más específicos) para generar un diseño SVG de un gráfico. Me gustaría utilizar mis archivos SVG generados Inkscape para definir formas de nodos, y seguí las instrucciones en el graphviz tutorial. Estoy emitiendo SVG por lo que, en teoría, esto debería ser fácil de hacer declarando las formas como <symbol> sy <use> ing en el diagrama. This e-mail me hace creer que la funcionalidad se implementó, y simplemente no puedo entender cómo usarla.¿Cómo usar SVG para formas de nodos personalizados en graphviz?

Intenté tener un atributo image de nodo que apunte al archivo SVG de forma personalizada. También intenté establecer el nodo shape en custom y apunte el shapefile a la forma SVG. dot se queja si pongo un nombre de archivo inválido, y su gráfico de complementos sugiere que puede leer SVG. Supongo que estoy usando los atributos incorrectos, o hay algo mal con los archivos SVG que he probado.

Para lo que sea, tengo viewBox en el atributo <svg>.

Respuesta

8

graphviz solo admite la entrada SVG donde los atributos width y height se configuran en <svg> usando unidades absolutas (píxeles, pulgadas, etc.). Inkscape genera height="100%" width="100%" viewBox="0 0 width_in_pixels height_in_pixels" como atributos en el elemento <svg>.

Archivé bug report, y un desarrollador de graphviz me señaló el help for the image attribute, que describe los requisitos para usar SVG en formas de nodos personalizados.

Cuestiones relacionadas