2

怠惰に見えないことを願っていますが、QuickGraph と GraphViz を使用してグラフを描くのに本当に苦労しています。オンラインで多くのドキュメントを見つけることができないようです。私は C# インターフェイスにまったく慣れていないので、それらも非常に混乱していると感じています。誰かが私に簡単な実例を教えてくれたり、良い例やドキュメントを教えてくれたりできますか?

ありがとうございました。

4

1 に答える 1

2

Quickgraph-to-Graphviz-export はファイルを書き込むことができないため、ファイルの書き込みを処理する IDotEngine を実装する必要があります。

public class FileDotEngine : IDotEngine
{    
    public string Run(GraphvizImageType imageType, string dot, string outputFileName)
    {
        using (StreamWriter writer = new StreamWriter(outputFileName))
        {
            writer.Write(dot);    
        }

        return System.IO.Path.GetFileName(outputFileName);
    }
}

次に、次のように Graphviz アルゴリズムを呼び出すことができます。

GraphvizAlgorithm<TNode, TEdge> graphviz = new GraphvizAlgorithm<TNode, TEdge>(this.Graph);
graphviz.FormatVertex += (sender, args) => args.VertexFormatter.Comment = args.Vertex.Label;
graphviz.FormatEdge += (sender, args) => { args.EdgeFormatter.Label.Value = args.Edge.Label; };

graphviz.Generate(new FileDotEngine(), filePath);

作成したドットファイルはgraphvizに渡すことができます。Graphviz Dot の使用法については、dotguide を参照してください。

于 2015-08-31T08:25:02.663 に答える