iOS开发Swift

Swift – 第三方图表库Charts使用详解21(饼状图1:基本用法)

import UIKit
import Charts
 
class ViewController: UIViewController {
     
    //饼状图
    var chartView: PieChartView!
     
    override func viewDidLoad() {
        super.viewDidLoad()
         
        //创建饼图组件对象
        chartView = PieChartView()
        chartView.frame = CGRect(x: 20, y: 80, width: self.view.bounds.width - 40,
                                 height: 260)
        self.view.addSubview(chartView)
         
        //生成5条随机数据
        let dataEntries = (0..<5).map { (i) -> PieChartDataEntry in
            return PieChartDataEntry(value: Double(arc4random_uniform(50) + 10),
                                     label: "数据\(i)")
        }
        let chartDataSet = PieChartDataSet(values: dataEntries, label: "数据分布")
        //设置颜色
        chartDataSet.colors = ChartColorTemplates.vordiplom()
            + ChartColorTemplates.joyful()
            + ChartColorTemplates.colorful()
            + ChartColorTemplates.liberty()
            + ChartColorTemplates.pastel()
        let chartData = PieChartData(dataSet: chartDataSet)
         
        //设置饼状图数据
        chartView.data = chartData
    }
}
//生成5条随机数据
let dataEntries = (0..<5).map { (i) -> PieChartDataEntry in
    let value = Double(arc4random_uniform(50) + 10)
    //只要值超过80都会带有一个小图标
    if value > 40 {
        return PieChartDataEntry(value: value, label: "数据\(i)",
                                 icon: UIImage(named: "icon"))
    } else {
        return PieChartDataEntry(value: value, label: "数据\(i)")
    }
}
let chartDataSet = PieChartDataSet(values: dataEntries, label: "数据分布")
chartDataSet.iconsOffset = CGPoint(x: -23, y: 0) //设置图标的偏移量