转载

[iOS] Graphs:非常易用的轻量级图表绘制库

[iOS] Graphs:非常易用的轻量级图表绘制库

[iOS] Graphs:非常易用的轻量级图表绘制库

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

[iOS] Graphs:非常易用的轻量级图表绘制库

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)

[iOS] Graphs:非常易用的轻量级图表绘制库

Array -> GraphView (Line)

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

[iOS] 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)

[iOS] 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

  • kokoron: Twitter
  • kokoron: github
原文  https://github.com/recruit-mtl/Graphs
正文到此结束
Loading...