



import UIKit import Charts class ViewController: UIViewController { //折线图 var chartView: LineChartView! override func viewDidLoad() { super.viewDidLoad() //创建折线图组件对象 chartView = LineChartView() chartView.frame = CGRect(x: 20, y: 80, width: self.view.bounds.width - 40, height: 250) self.view.addSubview(chartView) //设置交互样式 chartView.scaleXEnabled = false //允取消X轴缩放 chartView.scaleYEnabled = false //取消Y轴缩放 chartView.doubleTapToZoomEnabled = false //双击缩放 //生成100条随机数据 var dataEntries = [ChartDataEntry]() for i in 0..<100 { let y = arc4random()%100 let entry = ChartDataEntry.init(x: Double(i), y: Double(y)) dataEntries.append(entry) } //这50条数据作为1根折线里的所有数据 let chartDataSet = LineChartDataSet(values: dataEntries, label: "客流量(天)") //目前折线图只包括1根折线 let chartData = LineChartData(dataSets: [chartDataSet]) //设置折线图数据 chartView.data = chartData //图表最多显示10个点 chartView.setVisibleXRangeMaximum(10) //默认显示最一个数据 chartView.moveViewToX(99) } }

import UIKit import Charts class ViewController: UIViewController, ChartViewDelegate { //折线图 var chartView: LineChartView! override func viewDidLoad() { super.viewDidLoad() //创建折线图组件对象 chartView = LineChartView() chartView.frame = CGRect(x: 20, y: 80, width: self.view.bounds.width - 40, height: 250) chartView.delegate = self //设置代理 self.view.addSubview(chartView) //设置交互样式 chartView.scaleXEnabled = false //允取消X轴缩放 chartView.scaleYEnabled = false //取消Y轴缩放 chartView.doubleTapToZoomEnabled = false //双击缩放 //生成100条随机数据 var dataEntries = [ChartDataEntry]() for i in 0..<100 { let y = arc4random()%100 let entry = ChartDataEntry.init(x: Double(i), y: Double(y)) dataEntries.append(entry) } //这50条数据作为1根折线里的所有数据 let chartDataSet = LineChartDataSet(values: dataEntries, label: "客流量(天)") //目前折线图只包括1根折线 let chartData = LineChartData(dataSets: [chartDataSet]) //设置折线图数据 chartView.data = chartData //图表最多显示10个点 chartView.setVisibleXRangeMaximum(10) //默认显示最一个数据 chartView.moveViewToX(99) } //折线上的点选中回调 func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) { //将该点居中(其实就是将该点左边第5个点移动道图表左侧) self.chartView.moveViewToAnimated(xValue: entry.x - 5, yValue: 0, axis: .left, duration: 1) } }