iOS开发Swift

Swift – 第三方图表库Charts使用详解2(折线图1:整体样式设置)

上文我简单介绍了下折线图的使用,其实折线图还提供了许多属性和方法,可以方便我们进行一些样式的自定义,或者进行一些交互动作。下面通过样例进行演示。

(2)样例代码

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: 300)
        self.view.addSubview(chartView)
         
        //折线图背景色
        chartView.backgroundColor = UIColor.yellow
         
        //折线图无数据时显示的提示文字
        chartView.noDataText = "暂无数据"
         
        //折线图描述文字和样式
        chartView.chartDescription?.text = "考试成绩"
        chartView.chartDescription?.textColor = UIColor.red
         
        //设置交互样式
        chartView.scaleYEnabled = false //取消Y轴缩放
        chartView.doubleTapToZoomEnabled = true //双击缩放
        chartView.dragEnabled = true //启用拖动手势
        chartView.dragDecelerationEnabled = true //拖拽后是否有惯性效果
        chartView.dragDecelerationFrictionCoef = 0.9 //拖拽后惯性效果摩擦系数(0~1)越小惯性越不明显
 
        //生成8条随机数据
        var dataEntries = [ChartDataEntry]()
        for i in 0..<8 {
            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
    }
}
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: 300)
        self.view.addSubview(chartView)
         
        //生成第一条折线数据
        var dataEntries1 = [ChartDataEntry]()
        for i in 0..<8 {
            let y = arc4random()%100
            let entry = ChartDataEntry.init(x: Double(i), y: Double(y))
            dataEntries1.append(entry)
        }
        let chartDataSet1 = LineChartDataSet(values: dataEntries1, label: "李子明")
         
        //生成第二条折线数据
        var dataEntries2 = [ChartDataEntry]()
        for i in 0..<8 {
            let y = arc4random()%100
            let entry = ChartDataEntry.init(x: Double(i), y: Double(y))
            dataEntries2.append(entry)
        }
        let chartDataSet2 = LineChartDataSet(values: dataEntries2, label: "王大锤")
         
        //目前折线图包括2根折线
        let chartData = LineChartData(dataSets: [chartDataSet1, chartDataSet2])
         
        //设置折现图数据
        chartView.data = chartData
    }
}

转载于:https://www.hangge.com/blog/cache/detail_2117.html