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")