import UIKit
import Charts
class ViewController: UIViewController {
//烛形图
var chartView: CandleStickChartView!
override func viewDidLoad() {
super.viewDidLoad()
//创建烛形图组件对象
chartView = CandleStickChartView()
chartView.frame = CGRect(x: 20, y: 80, width: self.view.bounds.width - 40,
height: 260)
self.view.addSubview(chartView)
//第一组烛形图的10条随机数据
let dataEntries1 = (0..<10).map { (i) -> CandleChartDataEntry in
let val = Double(arc4random_uniform(40) + 10)
let high = Double(arc4random_uniform(9) + 8)
let low = Double(arc4random_uniform(9) + 8)
let open = Double(arc4random_uniform(6) + 1)
let close = Double(arc4random_uniform(6) + 1)
let even = arc4random_uniform(2) % 2 == 0 //true表示开盘价高于收盘价
return CandleChartDataEntry(x: Double(i),
shadowH: val + high,
shadowL: val - low,
open: even ? val + open : val - open,
close: even ? val - close : val + close)
}
let chartDataSet1 = CandleChartDataSet(values: dataEntries1, label: "图例1")
//目前烛形图包括1组数据
let chartData = CandleChartData(dataSets: [chartDataSet1])
//设置烛形图数据
chartView.data = chartData
}
}
//第一组烛形图的10条随机数据
let dataEntries1 = (0..<10).map { (i) -> CandleChartDataEntry in
let val = Double(arc4random_uniform(40) + 10)
let high = Double(arc4random_uniform(9) + 8)
let low = Double(arc4random_uniform(9) + 8)
let open = Double(arc4random_uniform(6) + 1)
let close = Double(arc4random_uniform(6) + 1)
let even = arc4random_uniform(2) % 2 == 0 //true表示开盘价高于收盘价
//当天涨幅超过9的显示一个星星图标
if(!even && (open + close) > 9 ){
return CandleChartDataEntry(x: Double(i),
shadowH: val + high,
shadowL: val - low,
open: even ? val + open : val - open,
close: even ? val - close : val + close,
icon: UIImage(named: "icon")!)
}else{
return CandleChartDataEntry(x: Double(i),
shadowH: val + high,
shadowL: val - low,
open: even ? val + open : val - open,
close: even ? val - close : val + close)
}
}
let chartDataSet1 = CandleChartDataSet(values: dataEntries1, label: "图例1")