Popularity
7.1
Stable
Activity
0.0
Stable
976
37
68

Code Quality Rank: L4
Programming language: Swift
License: MIT License
Tags: Charts    
Latest version: v0.1.2

Graphs alternatives and similar libraries

Based on the "Charts" category.
Alternatively, view Graphs alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Graphs or a related project?

Add another 'Charts' Library

README

Badge w/ Version Carthage compatible [MIT License](LICENSE)

Light weight charts view generater for iOS. Written in Swift.

Requirements

  • iOS 8.0+
  • XCode 7.3+

Installation

CocoaPods

$ pod init

specify it in your Podfile

platform :ios, '8.0'

target 'TargetName' do

  use_frameworks!
  pod 'Graphs', '~> 0.1.2'

end

And run CocoaPods

$ pod install

--

Carthage

You can install Carthage with Homebrew.

$ brew update
$ brew install carthage

specify it in your Cartfile

github "recruit-mtl/Graphs"

And run carthage

$ carthage update --platform ios

Usage

import Graphs
import Graphs
Range -> GraphView (Bar)
let view = (1 ... 10).barGraph(GraphRange(min: 0, max: 11)).view(viewFrame)
Array -> GraphView (Line)
let view = [10, 20, 4, 8, 25, 18, 21, 24, 8, 15].lineGraph(GraphRange(min: 0, max: 30)).view(viewFrame)
Dictionary -> GraphView (Pie)
let view = ["a": 3, "b": 8, "c": 9, "d": 20].pieGraph().view(viewFrame)
GraphData protocol -> GraphView (Pie)
import Graphs

struct Data<T: Hashable, U: NumericType>: GraphData {
    typealias GraphDataKey = T
    typealias GraphDataValue = U

    private let _key: T
    private let _value: U

    init(key: T, value: U) {
        self._key = key
        self._value = value
    }

    var key: T { get{ return self._key } }
    var value: U { get{ return self._value } }
}

let data = [
    Data(key: "John", value: 18.9),
    Data(key: "Ken", value: 32.9),
    Data(key: "Taro", value: 15.3),
    Data(key: "Micheal", value: 22.9),
    Data(key: "Jun", value: 12.9),
    Data(key: "Hanako", value: 32.2),
    Data(key: "Kent", value: 3.8)
]

let view = data.pieGraph() { (unit, totalValue) -> String? in
    return unit.key! + "\n" + String(format: "%.0f%%", unit.value / totalValue * 100.0)
}.view(viewFrame)
More detail

-> Read Playgrounds

Demo

$ git clone https://github.com/recruit-mtl/Graphs.git
$ cd /path/to/Graphs/GraphsExample
$ pod install

And Open GraphsExample.xcworkspace

Issues

GraphView doesn't work on Interface builder.

Interface Builder talks to code through the ObjC runtime. And ObjC doesn't do generics.

Licence

MIT

Author


*Note that all licence references and agreements mentioned in the Graphs README section above are relevant to that project's source code only.