2013-10-09 1 views
3

저는 QuickGraph을 처음 사용합니다. 문서 페이지의 예제를 따라 그래프에 정점 &을 추가했습니다. 이제 창을 그래프로 표시하고 싶습니다. 그 목적으로 .DOT 파일을 출력으로 생성하는 Graphviz를 사용하고 있습니다. 렌더링을 위해 아래의 코드 샘플을 따르고 있습니다.QuickGraph를 사용하여 그래프를 렌더링하는 방법 C#

IVertexAndEdgeListGraph<TVertex,TEdge> g= ...; 
var graphviz = new GraphvizAlgorithm<TVertex,TEdge>(g); 
string output = graphviz.Generate(new FileDotEngine(), "graph"); 

그러나 내 컴파일러는 FileDotEngine()을 감지하지 못합니다. 또한 .DOT 파일이 생성 된 후에는 어떻게해야할지 모르겠습니다.

+0

FYI이 질문의 코드는 https://quickgraph.codeplex.com/wikipage?title=Visualization%20Using%20Graphviz&referringTitle=Documentation – DaveInCaz

답변

2

직접 FileDotEngine을 제공해야합니다. 예를 들어 this example on Github을 참조하십시오. jpg이를 생성하는 간단한 FileDotEngine이 될 수있다 :

public sealed class FileDotEngine : IDotEngine 
{ 
    public string Run(GraphvizImageType imageType, string dot, string outputFileName) 
    { 
     string output = outputFileName; 
     File.WriteAllText(output, dot); 

     // assumes dot.exe is on the path: 
     var args = string.Format(@"{0} -Tjpg -O", output); 
     System.Diagnostics.Process.Start("dot.exe", args); 
     return output; 
    } 
} 

는 그런 다음 그림 상자 또는 유사한에서 생성 된 이미지를 표시 할 수 있습니다.

+0

의 예입니다. 답장을 보내 주셔서 감사합니다. 그러나 내 코드 "dot.exe"파일을 찾을 수 없습니다. 나는 방금 그것을 찾았고 내 시스템에도 있지 않다는 것을 알게되었다. 지금 어떻게해야합니까? 어떤 위치에서 다운로드 할 수 있습니까? –

+0

graphviz 패키지의 경우 dot.exe가 일부입니다. 질문에서 이미 사용하고 있다고 생각했습니다. Google에서 graphviz 및 windows를 검색하면 바로 확인할 수 있습니다. – Marijn

+2

Windows GraphViz 패키지는 다음 위치에 있습니다. http://graphviz.org/Download_windows.php –

0

또 다른 방법은 winforms 앱에서 WPF 컨트롤을 호스팅 한 다음 Graph#을 사용하여 그래프를 표시하는 것입니다. 나는 그러나 나 자신을 시도하지 않았다.

관련 문제