2017-12-21 13 views
1

나는이 해결책을 찾고 있었지만 다른 GraphViz 점 그래프에 가장자리 레이블을 연결하는 것을 찾을 수없는 것 같습니다. 예를 들어, 나는 다음과 같은에서 생산 된 'mydotimage2.svg'라는 그래프가있는 경우 :GraphViz - 다른 점 그래프에 가장자리 레이블 연결

digraph G 
{ 
    graph [compound = true]; 

    subgraph cluster_0 
    { 
     node [style = bold]; 
     "A" "B" "C"; 
    } 

    subgraph cluster_1 
    { 
     node [style = bold]; 
     "One" "Two" "Three"; 
    } 

    "A" -> "One" [lhead = cluster_1, ltail = cluster_0, label = "Falafel", href = "~/workspace/GraphViz/mydotimage1.svg"] 
} 

내가 통해 내 터미널에서 'mydotimage2.svg'SVG 이미지를 만드는 경우 :

dot -T svg mydotimage2.dot > mydotimage2.svg 

을 이미지가 내 브라우저에서 제대로 열리고 제작 된 이미지에서 A에서 One까지의 가장자리 레이블을 클릭 할 수 있지만 같은 GraphViz 디렉토리에있는 mydotimage1.svg는 열지 않습니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 나는 정말로 감사 할 것입니다. 미리 감사드립니다.

graphviz

이 있지만 물결표를 제거하지 않습니다에 물결표 ~을 확장 않습니다

답변

1

상대 경로를 사용해야합니다. 인 대신 href = "~/workspace/GraphViz/mydotimage1.svg"의하면 dot 파라미터로서 원하는 출력 파일 이름을 지정하는 대신 파이프 재 (>)를 사용하는, BTW href = "./mydotimage1.svg"

사용.
-omydotimage2.svg을 명령 줄에 추가하기 만하면됩니다. "mydotimage2.svg"는 쓸 파일 이름입니다.

+0

감사합니다! 매력처럼 일했습니다. 감사합니다. "dot -T svg -O .svg"를 실행하여 GraphViz를 시작했지만 점선 및 svg 이미지를 생성하는 파이썬 스크립트를 작성하고 파이프 리디렉션에 익숙해졌습니다. 그렇게하는 것이 해로운 일입니까? – CBK

+0

파이프 리디렉션을 사용하려는 경우 파이프 리디렉션을 사용하는 데 문제가 있다고 생각하지 마십시오. 이 키를 간과 한 경우를 대비하여 방금 지적했습니다. – user882813

1

이것은 내가 내 컴퓨터에서 관찰하는 것입니다, 나는 생각이 일반적인 문제입니다. 제 경우 그래프에서 하이퍼 링크를 클릭하면 이미지 위치로 /home/rainer/~/workspace/GraphViz/mydotimage1.svg이 표시됩니다. 그건 분명히 존재하지 않습니다.

솔루션/해결 방법은 예상대로 작동 제 경우

href = "/home/rainer/workspace/GraphViz/mydotimage1.svg" 

에 홈 폴더 경로와 스크립트의 ~을 대체하는 것입니다 ... 나에게 버그 것 같은데.

+0

감사합니다. 이 방법은 잘 작동했기 때문에 이미지를 다른 폴더를 열 때 같은 폴더에 둘 필요가 없도록 일반적으로 잘 알고 있습니다. – CBK

+0

네, 내 제안과 같은 절대 경로와 @ user882813에 따른 상대 경로가 모두 작동합니다. 단지 버그 일뿐입니다. 그리고 : 그것은 OS에 따라 다를 수 있지만 출력 파일에 대해 소문자 문자 'dot -T svg -o .svg'를 사용해야합니다. '>'도 좋을 것이다. – vaettchen

관련 문제