GraphLayout - iOS UI controls to visualize graphs. Powered by Graphviz
Clone or download
Latest commit c65a9f0 Apr 16, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example New: removing node or edge Apr 16, 2018
GraphLayout New: removing node or edge Apr 16, 2018
docs/images Initial commit Apr 13, 2018
.gitignore Initial commit Apr 13, 2018
.travis.yml Initial commit Apr 13, 2018
CHANGELOG.md Changlelog Apr 16, 2018
GraphLayout.podspec Pod version bump Apr 16, 2018
LICENSE Initial commit Apr 13, 2018
README.md Initial commit Apr 13, 2018
_Pods.xcodeproj Initial commit Apr 13, 2018

README.md

GraphLayout

Version License Platform

GraphLayout - UI controls for graph visualization. It is powered by Graphviz. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.

Example

To run the example project, clone the repo, and run pod install from the Example directory first. Screenshot1

Requirements

Xcode 9, iOS 11

Installation

GraphLayout is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'GraphLayout'

Notice, please, GraphLayout doesn't support frameworks.

Usage

Create graph, add nodes and edges.

let graph:Graph = Graph()
let node1 = graph.addNode("node 1")
let node2 = graph.addNode("node 2")
let node3 = graph.addNode("node 3")
let _ = graph.addEdge(from: node1, to: node2)
let _ = graph.addEdge(from: node1, to: node3)
let _ = graph.addEdge(from: node3, to: node2)

Apply graph layout (Graphviz powered)

graph.applyLayout()

GraphView

GraphView is a view to draw graphs. Set graph property of GraphView.

graphView.graph = graph
graphView.setNeedsDisplay()

GraphLayout

GraphLayout is UICollectionView layout and data source to display graphs.

let layout = GraphLayout()
layout.graph = graph
layout.setup(collectionView: collectionView)
layout.invalidateLayout()

Credits

License

GraphLayout is available under the MIT license. See the LICENSE file for more info.