
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: 270) self.view.addSubview(chartView) //生成10条随机数据 var dataEntries = [ChartDataEntry]() for i in 0..<10 { let y = arc4random()%100 let entry = ChartDataEntry.init(x: Double(i), y: Double(y)) dataEntries.append(entry) } //这10条数据作为1根折线里的所有数据 let chartDataSet = LineChartDataSet(values: dataEntries, label: "图例1") //将线条颜色设置为橙色 chartDataSet.colors = [.orange] //修改线条大小 chartDataSet.lineWidth = 2 //目前折线图只包括1根折线 let chartData = LineChartData(dataSets: [chartDataSet]) //设置折现图数据 chartView.data = chartData } }











//开启填充色绘制 chartDataSet.drawFilledEnabled = true //渐变颜色数组 let gradientColors = [UIColor.orange.cgColor, UIColor.white.cgColor] as CFArray //每组颜色所在位置(范围0~1) let colorLocations:[CGFloat] = [1.0, 0.0] //生成渐变色 let gradient = CGGradient.init(colorsSpace: CGColorSpaceCreateDeviceRGB(), colors: gradientColors, locations: colorLocations) //将渐变色作为填充对象s chartDataSet.fill = Fill.fillWithLinearGradient(gradient!, angle: 90.0)

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) //半透明蓝色背景 chartView.gridBackgroundColor = UIColor(red: 51/255, green: 181/255, blue: 229/255, alpha: 150/255) chartView.drawGridBackgroundEnabled = true self.view.addSubview(chartView) //生成第一根折线的数据 var dataEntries1 = [ChartDataEntry]() for i in 0..<20 { let y = arc4random()%10 + 20 let entry = ChartDataEntry.init(x: Double(i), y: Double(y)) dataEntries1.append(entry) } let chartDataSet1 = LineChartDataSet(values: dataEntries1, label: "最高温度") chartDataSet1.drawCirclesEnabled = false chartDataSet1.fillAlpha = 1 chartDataSet1.drawFilledEnabled = true chartDataSet1.fillColor = .white chartDataSet1.lineWidth = 2 chartDataSet1.drawValuesEnabled = false //不绘制拐点上的文字 chartDataSet1.fillFormatter = DefaultFillFormatter { _,_ -> CGFloat in return CGFloat(self.chartView.leftAxis.axisMaximum) //向上绘制填充区域 } //生成二根折线的数据 var dataEntries2 = [ChartDataEntry]() for i in 0..<20 { let y = arc4random()%10 let entry = ChartDataEntry.init(x: Double(i), y: Double(y)) dataEntries2.append(entry) } let chartDataSet2 = LineChartDataSet(values: dataEntries2, label: "最低温度") chartDataSet2.colors = [.green] chartDataSet2.drawCirclesEnabled = false chartDataSet2.fillAlpha = 1 chartDataSet2.drawFilledEnabled = true chartDataSet2.fillColor = .white chartDataSet2.lineWidth = 2 chartDataSet2.drawValuesEnabled = false //不绘制拐点上的文字 chartDataSet2.fillFormatter = DefaultFillFormatter { _,_ -> CGFloat in return CGFloat(self.chartView.leftAxis.axisMinimum) //向下绘制填充区域 } //目前折线图只包括2根折线 let chartData = LineChartData(dataSets: [chartDataSet1, chartDataSet2]) //设置折现图数据 chartView.data = chartData } }
转载于:https://www.hangge.com/blog/cache/detail_2118.html