Swift - 第三方图表库Charts使用详解14(柱状图1:基本用法)
作者:hangge | 2018-08-20 08:10
一、基本用法
1,只有 1 组数据的柱状图
(1)效果图

(2)样例代码
import UIKit
import Charts
class ViewController: UIViewController {
//柱状图图
var chartView: BarChartView!
override func viewDidLoad() {
super.viewDidLoad()
//创建柱状图组件对象
chartView = BarChartView()
chartView.frame = CGRect(x: 20, y: 80, width: self.view.bounds.width - 40,
height: 260)
self.view.addSubview(chartView)
//生成10条随机数据
var dataEntries = [BarChartDataEntry]()
for i in 0..<10 {
let y = arc4random()%100
let entry = BarChartDataEntry(x: Double(i), y: Double(y))
dataEntries.append(entry)
}
//这20条数据作为柱状图的所有数据
let chartDataSet = BarChartDataSet(values: dataEntries, label: "图例1")
//目前柱状图只包括1组立柱
let chartData = BarChartData(dataSets: [chartDataSet])
//设置柱状图数据
chartView.data = chartData
}
}
2,修改柱子宽度
默认情况下柱状图中每根柱子占其所处刻度区域宽度的 85%,我们可以修改它所占的宽度比例。
//设置柱子宽度为刻度区域的一半 chartData.barWidth = 0.5
3,立柱阴影
开启立柱背景阴影绘制后,立柱未占用的部分会有深灰色背景。
//开启阴背景阴影绘制 chartView.drawBarShadowEnabled = true
4,立柱颜色
(1)单色
chartDataSet.colors = [.orange] //全部使用橙色
(2)多色
chartDataSet.colors = [.yellow, .orange, .red] //三种颜色交替使用
5,立柱的边框颜色、线宽
chartDataSet.barBorderWidth = 1 chartDataSet.barBorderColor = .orange
6,立柱数值文字显示在内部
chartView.drawValueAboveBarEnabled = false
7,带图标的立柱
(1)下面样例在所有数值超过 80 的立柱上方显示个星星图标。注意:由于图标的位置就是之前文字所在的位置,未防止重合,这里将文字隐藏。
//生成10条随机数据
var dataEntries = [BarChartDataEntry]()
for i in 0..<10 {
let y = arc4random()%100
var entry:BarChartDataEntry
//只要值超过80都会带有一个小图标
if y > 80 {
entry = BarChartDataEntry(x: Double(i), y: Double(y),
icon: UIImage(named: "icon"))
} else {
entry = BarChartDataEntry(x: Double(i), y: Double(y))
}
dataEntries.append(entry)
}
//这10条数据作为柱状图的所有数据
let chartDataSet = BarChartDataSet(values: dataEntries, label: "图例1")
//不显示立柱数值文字标签
chartDataSet.drawValuesEnabled = false
(2)如果将立柱数值文字设置成“显示在内部”,那么图标位置也会同步变化。
chartView.drawValueAboveBarEnabled = false
附:更多样式和功能
除了上面这些样式外,柱状图还可以修改 X 轴、Y 轴样式,修改文字、图例样式,添加界限,进行数值格式化显示等等。这些在之前的折线图部分已经介绍过了,大家可以点击下方链接进行查看:
- Swift - 第三方图表库Charts使用详解2(折线图1:整体样式设置)
- Swift - 第三方图表库Charts使用详解3(折线图2:线条、拐点的样式设置)
- Swift - 第三方图表库Charts使用详解4(折线图3:选中点高亮、十字线样式)
- Swift - 第三方图表库Charts使用详解5(折线图4:X轴的样式设置)
- Swift - 第三方图表库Charts使用详解6(折线图5:Y轴的样式设置)
- Swift - 第三方图表库Charts使用详解7(折线图6:限制线、警戒线)
- Swift - 第三方图表库Charts使用详解8(折线图7:事件响应、MarkerView标签)
- Swift - 第三方图表库Charts使用详解9(折线图8:显示指定区域数据、选中居中)
- Swift - 第三方图表库Charts使用详解10(折线图9:自动显示中间拐点标签、滑动居中)
- Swift - 第三方图表库Charts使用详解11(折线图10:动画效果)
- Swift - 第三方图表库Charts使用详解12(折线图11:获取、保存图片,极简样式)
全部评论(0)