ios-charts 차트 표시 라이브러리 Xcode8 + Swift3
12615 단어 Swift3.0ios-chartsXcode8그래프Swift
htps : // 기주 b. 코 m/다니에 l 긴ぢ/짱 rts
Xcode8, Swift3에 해당하는 기사가 없었기 때문에 메모를 적습니다.
프로젝트 작성 절차
Xcode에서 적절하게 프로젝트를 만듭니다.
$ cd $(Your Xcode project)
Cartfile을 만듭니다. CocoaPods에서는 잘 할 수 없었습니다.
$ vi Cartfile
Cartfile
github "danielgindi/Charts" == 3.0.0
Carthage
를 실행합니다.$ carthage update --platform iOS
Xcode에서 프로젝트
TARGETS
를 선택하고 General > Linked Frameworks and Libraries
에서 +
를 클릭합니다.Add Other...
를 클릭하고 $(Your Xcode project)/Carthage/Build/iOS
폴더에서 *.framework
를 선택합니다.Build Phases
에서 +
를 클릭하고 New Run Script Phase
를 선택합니다.Shell
에 다음 명령을 설정하고 Input Files
에 framework
를 지정합니다./usr/local/bin/carthage copy-frameworks
이것으로 라이브러리 설정이 완료되었습니다.
그런 다음 스토리보드에서
UIView
를 배치합니다.Custom Class
의 Class
에 BarChartView
, Module
에 Charts
를 지정합니다.아울렛을 만듭니다. 여기에 그래프를 그립니다.
ViewController에 다음 코드를 작성합니다.
ViewController.swift
//
// ChartViewController.swift
import UIKit
import Charts
class ChartViewController: UIViewController {
// ここに棒グラフを描きます
@IBOutlet weak var myChartView: BarChartView!
override func viewDidLoad() {
super.viewDidLoad()
// y軸のプロットデータ
let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]
setChart(y: unitsSold)
}
func setChart(y: [Double]) {
// プロットデータ(y軸)を保持する配列
var dataEntries = [BarChartDataEntry]()
for (i, val) in y.enumerated() {
let dataEntry = BarChartDataEntry(x: Double(i), y: val) // X軸データは、0,1,2,...
dataEntries.append(dataEntry)
}
// グラフをUIViewにセット
let chartDataSet = BarChartDataSet(values: dataEntries, label: "Units Sold")
myChartView.data = BarChartData(dataSet: chartDataSet)
// X軸のラベルを設定
let xaxis = XAxis()
xaxis.valueFormatter = BarChartFormatter()
myChartView.xAxis.valueFormatter = xaxis.valueFormatter
// x軸のラベルをボトムに表示
myChartView.xAxis.labelPosition = .bottom
// グラフの色
chartDataSet.colors = [UIColor(red: 230/255, green: 126/255, blue: 34/255, alpha: 1)]
// グラフの背景色
myChartView.backgroundColor = UIColor(red: 189/255, green: 195/255, blue: 199/255, alpha: 1)
// グラフの棒をニョキッとアニメーションさせる
myChartView.animate(xAxisDuration: 2.0, yAxisDuration: 2.0)
// 横に赤いボーダーラインを描く
let ll = ChartLimitLine(limit: 10.0, label: "Target")
myChartView.rightAxis.addLimitLine(ll)
// グラフのタイトル
myChartView.chartDescription?.text = "Cool Graph!"
}
}
public class BarChartFormatter: NSObject, IAxisValueFormatter{
// x軸のラベル
var months: [String]! = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
// デリゲート。TableViewのcellForRowAtで、indexで渡されたセルをレンダリングするのに似てる。
public func stringForValue(_ value: Double, axis: AxisBase?) -> String {
// 0 -> Jan, 1 -> Feb...
return months[Int(value)]
}
}
실행 결과
Reference
이 문제에 관하여(ios-charts 차트 표시 라이브러리 Xcode8 + Swift3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tfutada/items/3bf10ff5369382f4cb5c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)