
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