簡體   English   中英

C#使用QuickGraph和GraphViz繪制圖形

[英]C# Drawing a graph using QuickGraph and GraphViz

我希望我不會顯得懶惰,但是我真的很努力地使用QuickGraph和GraphViz繪制圖形,因為在網上找不到太多的文檔。 我對C#接口很陌生,因此也發現它們很混亂。 有人能給我一個簡單的工作示例,或指導我這么好的示例和文檔嗎?

謝謝。

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。 在dotguide中查看Graphviz點用法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM