繁体   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