GraphLayout - iOS UI controls to visualize graphs. Powered by Graphviz

Related tags

Graphics GraphLayout
Overview

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.

You might also like...
A lightweight XMLParser for assembling and parsing XML values written for iOS 8+ in Swift 2.
A lightweight XMLParser for assembling and parsing XML values written for iOS 8+ in Swift 2.

Overview Description Requirements Installation Usage Author License Description XMLParser lets you convert a pure Swift dictionary into XML string and

📰 Consistent & accessible visual styling on iOS with support for Dynamic Type.
📰 Consistent & accessible visual styling on iOS with support for Dynamic Type.

TypographyKit makes it easy to define typography styles and colour palettes in your iOS app helping you achieve visual consistency in your design as w

Controls-Practice-UIKit- - Controls Practice (UIKit)
Controls-Practice-UIKit- - Controls Practice (UIKit)

Controls Practice (UIKit) Change a number 0 to 255 different ways: Button (+1) I

Elegant Line Graphs for iOS. (Charting library)

BEMSimpleLineGraph BEMSimpleLineGraph makes it easy to create and customize line graphs for iOS. BEMSimpleLineGraph is a charting library that makes i

iOS-based charting library for both line and bar graphs.
iOS-based charting library for both line and bar graphs.

JBChartView Introducing JBChartView - Jawbone's iOS-based charting library for both line and bar graphs. It is easy to set-up, and highly customizable

A macOS app to visualise your iTunes library as graphs.
A macOS app to visualise your iTunes library as graphs.

iTunes Graphs iTunes Graphs is a Cocoa-based macOS app which visualises your iTunes library in a series of pie charts. Currently, it supports the foll

A toolbox of AI modules written in Swift:  Graphs/Trees, Support Vector Machines, Neural Networks, PCA, K-Means, Genetic Algorithms
A toolbox of AI modules written in Swift: Graphs/Trees, Support Vector Machines, Neural Networks, PCA, K-Means, Genetic Algorithms

AIToolbox A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Al

Easily create graphs that calculate percentiles
Easily create graphs that calculate percentiles

SwiftUIPercentChart Easily create graphs that calculate percentiles How to install this package Open your project on Xcode Go to Project Tab and selec

SaaS Dashboard App UI With Stylish Bar Graphs using SwiftUi 3.0 🤓
SaaS Dashboard App UI With Stylish Bar Graphs using SwiftUi 3.0 🤓

SaaS Dashboard UI SaaS Dashboard App UI With Stylish Bar Graphs using SwiftUi 3.0 🤓 Video Preview Screenshots Features Custom Bar Graph Custom Tab Ba

A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS!
A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS!

FSInteractiveMap A charting library to visualize data on a map. It's like geochart but for iOS! The idea behind this library is to load a SVG file of

iOS app which  uses the Moves API to visualize which places you spent the most time at in the last seven days.
iOS app which uses the Moves API to visualize which places you spent the most time at in the last seven days.

Places Places uses the Moves API to visualize which places you spent the most time at in the last seven days. It runs on iOS 7 only and you need to ob

TouchInspector - a lightweight package that helps you visualize and debug touches on iOS and iPadOS
TouchInspector - a lightweight package that helps you visualize and debug touches on iOS and iPadOS

TouchInspector is a lightweight package that helps you visualize and debug touches on iOS and iPadOS.

Lightweight touch visualization library in Swift. A single line of code and visualize your touches!
Lightweight touch visualization library in Swift. A single line of code and visualize your touches!

TouchVisualizer is a lightweight pure Swift implementation for visualising touches on the screen. Features Works with just a single line of code! Supp

Visualize your dividend growth. DivRise tracks dividend prices of your stocks, gives you in-depth information about dividend paying stocks like the next dividend date and allows you to log your monthly dividend income.
Visualize your dividend growth. DivRise tracks dividend prices of your stocks, gives you in-depth information about dividend paying stocks like the next dividend date and allows you to log your monthly dividend income.

DivRise DivRise is an iOS app written in Pure SwiftUI that tracks dividend prices of your stocks, gives you in-depth information about dividend paying

Lightweight touch visualization library in Swift. A single line of code and visualize your touches!
Lightweight touch visualization library in Swift. A single line of code and visualize your touches!

TouchVisualizer is a lightweight pure Swift implementation for visualising touches on the screen. Features Works with just a single line of code! Supp

Redesigned video player controls for iOS

Atlas Minimal stock video player replacement demo video Compiling Clone the repo, and make sure you have cephei and all that then just make clean pack

1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift.

RSBarcodes, now in Swift. RSBarcodes allows you to read 1D and 2D barcodes using the metadata scanning capabilities introduced with iOS 7 and generate

CTPanoramaView is a library that displays spherical or cylindrical panoramas with touch or motion based controls.
CTPanoramaView is a library that displays spherical or cylindrical panoramas with touch or motion based controls.

CTPanoramaView is a high-performance library that uses SceneKit to display complete spherical or cylindrical panoramas with touch or motion based controls.

CHIPageControl is a set of cool animated page controls to replace boring UIPageControl.
CHIPageControl is a set of cool animated page controls to replace boring UIPageControl.

CHIPageControl is a set of cool animated page controls to replace boring UIPageControl. We were inspired by Jardson Almeida dribbble sh

Comments
  • Change graph direction

    Change graph direction

    Hello There! I've failed to change the graph direction. Currently layout goes from top to bottom, but how it may be possible to revert it and draw nodes from bottom to top (i.e. at the moment when connect nodeA to nodeB, nodeA appears above and nodeB is below, but I need reversed layout). As far as I see, it's somewhere in Graphviz library? Thanks!

    opened by filiroman 0
Owner
null
Drawing and Geometry made easy on iOS - now in Swift 3.0

InkKit Swift Support Swift 4.0 InkKit is Swift 4.0 by default, so to use that just include InkKit in your podfile: pod 'InkKit' Swift 3.2 In order to

Shaps 373 Dec 27, 2022
iOS utility classes for asynchronous rendering and display.

YYAsyncLayer iOS utility classes for asynchronous rendering and display. (It was used by YYText) Simple Usage @interface YYLabel : UIView @property NS

null 672 Dec 27, 2022
An iOS framework for easily adding drawings and text to images.

jot is an easy way to add touch-controlled drawings and text to images in your iOS app. What's jot for? Annotating Images jot is the easiest way to ad

IFTTT 1.8k Oct 28, 2022
Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation)

SVGKit SVGKit is a Cocoa framework for rendering SVG files natively: it's fast and powerful. Some additional info and links are on the wiki Versions:

null 4.3k Jan 3, 2023
Visual designing library for iOS & OSX

ProcessingKit ProcessingKit is a Visual designing library for iOS & OSX. ProcessingKit written in Swift ?? and you can write like processing. Demo Dem

Atsuya Sato 333 Nov 12, 2022
Conical (angular) gradient for iOS written in Swift

AEConicalGradient Conical (angular) gradient in Swift I hope that somebody will find this useful. And nice. Usage AEConicalGradient is a minion which

Marko Tadić 82 Dec 27, 2022
🌈 Highly customizable Core Graphics based gradient view for iOS

MKGradientView Highly customizable Core Graphics based gradient view Features Available gradient types: Linear (Axial) Radial (Circular) Conical (Angu

Max Konovalov 167 Dec 27, 2022
🎞 Powerful gradient animations made simple for iOS.

AnimatedGradientView is a UIView subclass which makes it simple to add animated gradients to your iOS app. It is written purely in Swift. Further docu

Ross Butler 431 Dec 12, 2022
The application is develop in Objective IOS. kids can draw whatever they want and also kids can save the drawing as well as undo erase the drawing.

IOSObjC_KidsBoard The application is develop in Objective IOS. kids can draw whatever they want and also kids can save the drawing as well as undo era

Haresh 0 Oct 28, 2021
Create Live Graphics in SwiftUI (iOS, tvOS & macOS)

PixelUI import SwiftUI import PixelUI struct ContentView: View { var body: some View { GeometryReader { geo in

Anton Heestand 21 Dec 17, 2022