Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ Graphs Public
forked from recruit-mtl/Graphs

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

License

Notifications You must be signed in to change notification settings

pflnh/Graphs

Repository files navigation

#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

$ 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

--

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 95.0%
  • Ruby 4.3%
  • Objective-C 0.7%

AltStyle によって変換されたページ (->オリジナル) /