Swift - 第三方图表库AAInfographics使用详解8(散点图、气泡图)
作者:hangge | 2019-02-22 08:20
一、散点图
1,基本用法
(1)下面我们使用 AAInfographics 来显示一个简单的散点图,效果如下:
- 整个散点图一共展示两组数据(两个系列数据),每组数据使用不同的颜色和图例区分。
- 图表展示时会有动画效果,默认效果是从左往右逐渐绘制出来。
- 点击某个散点时,会出现浮动提示框显示相关数据。
- 点击某个图例可以隐藏、显示该图例对应系列的数据。
(2)样例代码
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 初始化图表视图控件 let chartWidth = self.view.frame.size.width let chartHeight = self.view.frame.size.height - 200 let aaChartView = AAChartView() aaChartView.frame = CGRect(x:0, y:0, width:chartWidth, height:chartHeight) self.view.addSubview(aaChartView) // 初始化图表模型 let chartModel = AAChartModel() .chartType(.scatter) //图表类型 .title("身高体重分布情况")//图表主标题 .subtitle("2020年09月")//图表副标题 .titleColor("#ffffff")//主标题文字颜色 .subtitleColor("#ffffff")//副标题文字颜色 .axisColor("#ffffff")//轴线颜色 .yAxisTitle("kg")//Y轴标题 .backgroundColor("#22324c") //背景颜色 .dataLabelEnabled(false) .series( [ AASeriesElement() .name("女性") .color("rgba(223, 83, 83, 1)") .data([ [161.2, 51.6], [167.5, 59.0], [159.5, 49.2], [157.0, 63.0], [170.0, 59.0], [159.1, 47.6], [166.0, 69.8], [176.2, 66.8], [172.5, 55.2], [170.9, 54.2], [172.9, 62.5], [153.4, 42.0], [147.2, 49.8], [168.2, 49.2], [175.0, 73.2], [157.0, 47.8], [159.5, 50.6], [175.0, 82.5], [166.8, 57.2], [176.5, 87.8], [174.0, 54.5], [173.0, 59.8], [179.9, 67.3], [170.5, 67.8] ]) .toDic()!, AASeriesElement() .name("男性") .color("rgba(119, 152, 191, 1)") .data([ [174.0, 65.6], [175.3, 71.8], [193.5, 80.7], [186.5, 72.6], [181.5, 74.8], [184.0, 86.4], [184.5, 78.4], [175.0, 62.0], [180.0, 76.6], [177.8, 83.6], [192.0, 90.0], [176.0, 74.6], [184.0, 79.6], [192.7, 93.8], [171.5, 70.0], [173.0, 72.4], [176.0, 78.8], [180.5, 77.8], [172.7, 66.2], [176.0, 86.4], [178.0, 89.6], [180.3, 82.8], [180.3, 76.4], [164.5, 63.2] ]) .toDic()! ]) // 图表视图对象调用图表模型对象,绘制最终图形 aaChartView.aa_drawChartWithChartModel(chartModel) } }
2,修改散点的样式类型
(1)散点有如下 5 种样式可以选择,如果不指定的话则每组数组依次使用各种样式。
- circle:圆形
- square:正方形
- diamond:菱形
- triangle:上三角形
- triangle-down:下三角形
(2)下面将所有散点统一使用三角形:
let chartModel = AAChartModel() .chartType(.scatter) //图表类型 .symbol(.triangle)//散点形状 //.....
3,修改散点的空心样式
(1)使用 symbolStyle 可以设置散点的空心样式,有如下三种可选值:
- none:内部和边框均为实心(默认值)
- borderBlank:边框空心
- innerBlank:内部空心
(2)下面分别是 borderBlank 和 innerBlank 的效果:
let chartModel = AAChartModel() .chartType(.scatter) //图表类型 .symbol(.circle)//散点形状 .symbolStyle(.borderBlank)//连接点边框空心 //.....
4,修改散点半径
markerRadius 可以设置散点半径:
let chartModel = AAChartModel() .chartType(.scatter) //图表类型 .symbol(.circle)//散点形状 .symbolStyle(.innerBlank)//散点内部空心 .markerRadius(9)//散点半径 //.....
二、气泡图
1,效果图
气泡图和散点图很像,不同的是气泡图的每个数据又多了个 size 属性,该属性决定每个气泡相对大小。效果如下:
- 整个散点图一共展示两组数据(两个系列数据),每组数据使用不同的颜色和图例区分。
- 图表展示时会有动画效果,默认效果是气泡逐渐从小变大显示出来。
- 点击某个气泡时,会出现浮动提示框显示相关数据。
- 点击某个图例可以隐藏、显示该图例对应系列的数据。
2,样例代码
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 初始化图表视图控件 let chartWidth = self.view.frame.size.width let chartHeight = self.view.frame.size.height - 200 let aaChartView = AAChartView() aaChartView.frame = CGRect(x:0, y:0, width:chartWidth, height:chartHeight) self.view.addSubview(aaChartView) // 初始化图表模型 let chartModel = AAChartModel() .chartType(.bubble) //图表类型 .title("气泡图")//图表主标题 .titleColor("#ffffff")//主标题文字颜色 .subtitleColor("#ffffff")//副标题文字颜色 .axisColor("#ffffff")//轴线颜色 .backgroundColor("#22324c") //背景颜色 .colorsTheme(["#0c9674","#7dffc0"]) .series( [ AASeriesElement() .name("BubbleOne") .data([ [97, 36, 79], [94, 74, 60], [68, 76, 58], [64, 87, 56], [68, 27, 73], [74, 99, 42], [7, 93, 99], [51, 69, 40], [38, 23, 33] ]) .toDic()!, AASeriesElement() .name("BubbleTwo") .data([ [25, 60, 87], [2, 75, 59], [11, 54, 8 ], [86, 55, 93], [5, 33, 88], [90, 63, 44], [91, 43, 17], [97, 56, 56], [15, 67, 48] ]) .toDic()!, ]) // 图表视图对象调用图表模型对象,绘制最终图形 aaChartView.aa_drawChartWithChartModel(chartModel) } }
全部评论(0)