2011-09-01 4 views
10

graphviz (dot 명령 줄 도구)을 사용하여 그래프의 SVG 레이아웃을 생성하려고합니다. Inkscape 생성 된 SVG 파일을 사용하여 노드 모양을 정의하고 싶습니다. graphviz tutorial의 지침을 따랐습니다. 저는 SVG를 출력하고 있습니다. 이론 상으로는 모양을 <symbol><use>으로 지정하여 다이어그램에서 쉽게 지정할 수 있습니다. This e-mail은 기능이 구현되었다고 생각하게 만들고 사용 방법을 파악할 수 없습니다.graphviz에서 사용자 정의 노드 셰이프에 SVG를 사용하는 방법은 무엇입니까?

사용자 정의 모양의 SVG 파일을 가리키는 노드의 image 속성을 사용하려고 시도했습니다. 또한 노드의 shapecustom으로 설정하고 shapefile을 모양 SVG로 지정해 보았습니다. dot은 잘못된 파일 이름을 넣었을 때 불평하고 그 플러그인 그래프는 SVG를 읽을 수 있다고 제안합니다. 내가 잘못된 속성을 사용하고 있거나 SVG 파일에 문제가 있다고 생각합니다.

무엇이든지간에 나는 <svg> 속성에 viewBox을 설정해야합니다.

답변

8

graphviz는 widthheight 속성이 절대 단위 (픽셀, 인치 등)를 사용하여 <svg>에 설정된 SVG 입력 만 지원합니다. 잉크 스케이프는 <svg> 요소의 속성으로 height="100%" width="100%" viewBox="0 0 width_in_pixels height_in_pixels"을 출력합니다.

나는 그래프 파일 개발자가 help for the image attribute으로 나를 지적했다. 이것은 사용자 정의 노드 셰이프에서 SVG를 사용하기위한 요구 사항을 설명한다.

관련 문제