Swift - 第三方图表库Charts使用详解22(饼状图2:指示折线、半饼图)

二、多义线(指示线)
默认情况下,每个扇区的文字和数值都是显示在扇区内部,如果内容一多就会显的很拥挤。我们让某些数据在饼图外边显示,并自动通过折线与对应扇区相关联。

1,基本用法
(1)标签显示在内、数值显示在外
原文:Swift - 第三方图表库Charts使用详解22(饼状图2:指示折线、半饼图)

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()
     
    chartDataSet.xValuePosition = .insideSlice //标签显示在内
    chartDataSet.yValuePosition = .outsideSlice //数值显示在外
     
    let chartData = PieChartData(dataSet: chartDataSet)
    chartData.setValueTextColor(.black)//文字颜色为黑色
     
    //设置饼状图数据
    chartView.data = chartData
}

}

(2)标签显示在外、数值显示在内
原文:Swift - 第三方图表库Charts使用详解22(饼状图2:指示折线、半饼图)

chartDataSet.xValuePosition = .outsideSlice //标签显示在外
chartDataSet.yValuePosition = .insideSlice //数值显示在内

(3)标签、数值均显示在外面
原文:Swift - 第三方图表库Charts使用详解22(饼状图2:指示折线、半饼图)

chartDataSet.xValuePosition = .outsideSlice //标签显示在外
chartDataSet.yValuePosition = .outsideSlice //数值显示在外

2,修改折线样式
原文:Swift - 第三方图表库Charts使用详解22(饼状图2:指示折线、半饼图)

chartDataSet.valueLinePart1OffsetPercentage = 0.8 //折线中第一段起始位置相对于扇区偏移量(值越大距越远)
chartDataSet.valueLinePart1Length = 0.55 //折线中第一段长度占比
chartDataSet.valueLinePart2Length = 0.2 //折线中第二段长度最大占比
chartDataSet.valueLineWidth = 1 //折线的粗细
chartDataSet.valueLineColor = UIColor.brown //折线颜色

三、扇形图
1,基本用法
原文:Swift - 第三方图表库Charts使用详解22(饼状图2:指示折线、半饼图)

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)
     
    chartView.maxAngle = 270 //整个扇形占2/3圆
    chartView.rotationAngle = 135 //旋转角度让扇面左右对称
     
    //生成5条随机数据
    let dataEntries = (0..<3).map { (i) -> PieChartDataEntry in
        return PieChartDataEntry(value: Double(arc4random_uniform(50) + 10),
                                 label: "数据\(i)")
    }
    let chartDataSet = PieChartDataSet(values: dataEntries, label: "数据分布")
    //设置颜色
    chartDataSet.colors = ChartColorTemplates.colorful()
    let chartData = PieChartData(dataSet: chartDataSet)
     
    //设置饼状图数据
    chartView.data = chartData
}

}

2,半饼图
原文:Swift - 第三方图表库Charts使用详解22(饼状图2:指示折线、半饼图)

chartView.maxAngle = 180 //整个扇形占1/2圆
chartView.rotationAngle = 180 //旋转角度让饼图左右对称

原文出自:www.hangge.com 原文链接:https://www.hangge.com/blog/cache/detail_2163.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值