
iOS 图表框架 Charts
·
文章目录
1.github示例图
2.Charts的GitHub网址
3.在github上下载后把demo跑在手机上的截屏
4.怎样使用
4.1 条形图 - BarChartView
4.1.2 用条形图展示睡眠
- 要实现上面的效果
func addBarChart(){
let chartView = HorizontalBarChartView(frame: CGRect(x: 0, y: 300, width: view.frame.size.width, height: 100))
view.addSubview(chartView)
chartView.backgroundColor = .yellow
let xAxis = chartView.xAxis
xAxis.enabled = false
let leftAxis = chartView.leftAxis
leftAxis.enabled = false
let rightAxis = chartView.rightAxis
rightAxis.enabled = false
//最大值到顶部所占整个轴的百分比,默认0.1
leftAxis.spaceTop = 0.01
//最小值到底部所占整个轴的百分比,默认0.1
leftAxis.spaceBottom = 0.01
//是否显示图例
chartView.legend.enabled = false
//浅,green 7
//深,red 2
//醒,black 1
//data
let yVals = [
BarChartDataEntry(x: 0, yValues: [7,2,1]),
BarChartDataEntry(x: 1, yValues: [7,2,1])
]
let set = BarChartDataSet(entries: yVals)
set.drawValuesEnabled = false
set.colors = [NSUIColor.green,NSUIColor.yellow,NSUIColor.yellow,
NSUIColor.yellow,NSUIColor.red,NSUIColor.black]
let data = BarChartData(dataSet: set)
//圆柱和间距的比例,默认0.85
data.barWidth = 1
chartView.data = data
}
- 上面的代码实现的效果如下图
参考博客:
iOS Charts库的简单使用 - BarChartView
4.2 折线图 - LineChartView
Swift - 第三方图表库Charts使用详解8(折线图7:事件响应、MarkerView标签)
4.3 扇形图(饼状图) - PieChartView
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
let pieChartView = PieChartView(frame: CGRect(x: 0, y: 50, width: 200, height: 200))
view.addSubview(pieChartView)
pieChartView.backgroundColor = .gray
//中心文字
pieChartView.centerText = "睡眠占比"
//是否显示图例
pieChartView.legend.enabled = false
let datas: [Double] = [32, 100, 65]
var values = [PieChartDataEntry]()
for i in 0..<datas.count {
values.append(PieChartDataEntry(value: datas[i], label: "\(Int(datas[i]))分"))
// let entry = PieChartDataEntry(value: datas[i])
// values.append(entry)
}
let dataSet = PieChartDataSet(entries: values, label: "图例")
//是否显示数值。默认true
dataSet.drawValuesEnabled = false
dataSet.colors = [NSUIColor.black,NSUIColor.red,NSUIColor.green]
let data = PieChartData(dataSet: dataSet)
pieChartView.data = data
}
参考博客:
iOS Charts库的简单使用 - PieChartView
5.遇到的问题
问题一:chartValueSelected代理方法不调用
- 1.条形图点击的时候不调用代理方法chartValueSelected(只有几个会调用),总是调用代理方法chartValueNothingSelected
下载的demo没有这个问题,而pod后自己写的demo有这个问题,应该是pod的charts库有bug
解决方法,下载4.1.0的demo,然后手动导入Charts
问题二:iOS Xcode14 Charts集成时编译报错
更多推荐
所有评论(0)