Swift - 第三方图表库AAInfographics使用详解3(多彩渐变色)
作者:hangge | 2019-02-09 08:10
一、内置的渐变色
1,使用样例
(1)AAInfographics 图表内置了一套渐变色(AAGradientColor)供我们直接使用,下面是柱状图使用渐变色的效果:
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(.column)//图表类型 .title("城市天气变化")//图表主标题 .subtitle("2020年09月18日")//图表副标题 .inverted(false)//是否翻转图形 .yAxisTitle("摄氏度")// Y 轴标题 .legendEnabled(true)//是否启用图表的图例(图表底部的可点击的小圆点) .tooltipValueSuffix("摄氏度")//浮动提示框单位后缀 .categories(["一月", "二月", "三月", "四月", "五月", "六月"]) .colorsTheme([AAGradientColor.oceanBlue, AAGradientColor.sanguine, AAGradientColor.lusciousLime])//渐变颜色数组 .series([ AASeriesElement() .name("东京") .data([7.0, 6.9, 9.5, 14.5, 18.2, 21.5]) .toDic()!, AASeriesElement() .name("纽约") .data([0.2, 0.8, 5.7, 11.3, 17.0, 25.0]) .toDic()!, AASeriesElement() .name("柏林") .data([0.9, 0.6, 3.5, 8.4, 13.5, 17.0]) .toDic()!]) // 图表视图对象调用图表模型对象,绘制最终图形 aaChartView.aa_drawChartWithChartModel(chartModel) } }
(2)下面是折线图使用渐变色的效果:
2,所有的渐变颜色
下面使用条形图将所有内置渐变色都展示出来。
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let gradientColorNamesArr = [ "oceanBlue", "sanguine", "lusciousLime", "purpleLake", "freshPapaya", "ultramarine", "pinkSugar", "lemonDrizzle", "victoriaPurple", "springGreens", "mysticMauve", "reflexSilver", "newLeaf", "cottonCandy", "pixieDust", "fizzyPeach", "sweetDream", "firebrick", "wroughtIron", "deepSea", "coastalBreeze", "eveningDelight", ] // 所有内置渐变色 let gradientColorArr = [ AAGradientColor.oceanBlue, AAGradientColor.sanguine, AAGradientColor.lusciousLime, AAGradientColor.purpleLake, AAGradientColor.freshPapaya, AAGradientColor.ultramarine, AAGradientColor.pinkSugar, AAGradientColor.lemonDrizzle, AAGradientColor.victoriaPurple, AAGradientColor.springGreens, AAGradientColor.mysticMauve, AAGradientColor.reflexSilver, AAGradientColor.newLeaf, AAGradientColor.cottonCandy, AAGradientColor.pixieDust, AAGradientColor.fizzyPeach, AAGradientColor.sweetDream, AAGradientColor.firebrick, AAGradientColor.wroughtIron, AAGradientColor.deepSea, AAGradientColor.coastalBreeze, AAGradientColor.eveningDelight, ] // 初始化图表视图控件 let chartWidth = self.view.frame.size.width let chartHeight = self.view.frame.size.height let aaChartView = AAChartView() aaChartView.frame = CGRect(x:0, y:0, width:chartWidth, height:chartHeight) self.view.addSubview(aaChartView) // 初始化图表模型 let chartModel = AAChartModel() .chartType(.bar)//图表类型 .title("城市天气变化")//图表主标题 .inverted(false)//是否翻转图形 .legendEnabled(true)//是否启用图表的图例(图表底部的可点击的小圆点) .tooltipValueSuffix("摄氏度")//浮动提示框单位后缀 .categories(gradientColorNamesArr) .colorsTheme(gradientColorArr as [Any])//渐变颜色数组 .series([ AASeriesElement() .name("2018") .data(Array(0..<gradientColorArr.count).map{ _ in 75 }) .colorByPoint(true) .toDic()!]) // 图表视图对象调用图表模型对象,绘制最终图形 aaChartView.aa_drawChartWithChartModel(chartModel) } }
二、使用自定义的渐变颜色
(1)如果嫌内置的渐变色不能满足我们的需求,我们也可以自定义渐变色。
(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(.column)//图表类型 .title("城市天气变化")//图表主标题 .inverted(false)//是否翻转图形 .legendEnabled(true)//是否启用图表的图例(图表底部的可点击的小圆点) .tooltipValueSuffix("摄氏度")//浮动提示框单位后缀 .categories(["渐变1", "渐变3", "渐变2"]) .colorsTheme([ GradientColorDicMaker .configureGradientColorDictionary(startColor: "000000", endColor: "FFFFFF"), GradientColorDicMaker .configureGradientColorDictionary(startColor: "FF00FF", endColor: "FFFFFF"), GradientColorDicMaker .configureGradientColorDictionary(startColor: "FF0000", endColor: "FFFF00") ])//渐变颜色数组 .series([ AASeriesElement() .name("2018") .data(Array(0..<3).map{ _ in 75 }) .colorByPoint(true) .toDic()!]) // 图表视图对象调用图表模型对象,绘制最终图形 aaChartView.aa_drawChartWithChartModel(chartModel) } }
全部评论(0)