Latest 0.1.2
Homepage https://github.com/recruit-mtl/Graphs
License MIT
Platforms ios 8.0, requires ARC
Authors

Graphs

Badge w/ Version
Carthage compatible
MIT License

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

Graphs mock

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)

Graphs

Array -> GraphView (Line)
let view = [10, 20, 4, 8, 25, 18, 21, 24, 8, 15].lineGraph(GraphRange(min: 0, max: 30)).view(viewFrame)

Graphs

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)

Graphs

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

Latest podspec

{
    "name": "Graphs",
    "version": "0.1.2",
    "summary": "Charts view generater",
    "description": "Light weight charts view generater for iOS. Written in Swift.",
    "homepage": "https://github.com/recruit-mtl/Graphs",
    "license": {
        "type": "MIT",
        "file": "LICENSE.md"
    },
    "authors": {
        "kokoro": "[email protected]"
    },
    "social_media_url": "https://twitter.com/kokoron",
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/recruit-mtl/Graphs.git",
        "tag": "0.1.2"
    },
    "source_files": "Graphs/*.swift",
    "requires_arc": true
}

Pin It on Pinterest

Share This