riedev_graph 0.1.1 riedev_graph: ^0.1.1 copied to clipboard
A graph library with basic algorithms and export functionality.
import 'package:riedev_graph/dotFile.dart';
import 'package:riedev_graph/graph.dart';
void ExportGraphToDotFile() {
var g = CreateBinaryGraph();
var dotFile = DotFile<int, Edge<int>>();
dotFile.addGraph(g, graphName: "BinaryGraph")
.setFileName("binaryGraph.dot")
.setNodeStyle()
.setColor("#328fa8")
.setFillColor("#eb8934")
.setShape(NodeShape.diamond)
.setLabel((n, idx) => "Node: $idx")
.apply()
.setEdgeStyle()
.setColor("#328fa8")
.setShape(EdgeShape.dashed)
.setLabel((e, sourceIdx, targetIdx) => "Edge: $sourceIdx -> $targetIdx")
.apply()
.export();
}
/*
1
/ \
2 3
/ \ / \
4 5 6 7
*/
Graph<int, Edge<int>> CreateBinaryGraph() {
var g = Graph<int, Edge<int>>(false/*No double edges between two nodes.*/);
g.addEdges(
[Edge(1, 2), Edge(1, 3), Edge(2, 4), Edge(2, 5), Edge(3, 6), Edge(3, 7)]);
return g;
}