[英]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.