当前位置:   article > 正文

iOS AAChartKit 图表库的使用

aachartkit

一、介绍

AAChartKit 项目,是AAInfographics的 Objective-C 语言版本,是在流行的开源前端图表库Highcharts的基础上,封装的面向对象的,一组简单易用,极其精美的图表绘制控件。

  • 环境友好,兼容性强. 适配 iOS 8+, 支持iOS、 iPad OS、macOS, 支持 Objective-C语言, 同时更有 Swift 语言版本 AAInfographics 、 Java 语言版本 AAChartCore 、Kotlin 语言版本 AAChartCore-Kotlin 可供使用, 配置导入工程简单易操作。
  • 功能强大,类型多样 。支持柱状图 、条形图 、折线图 、曲线图 、折线填充图 、曲线填充图、雷达图、极地图、扇形图、气泡图、散点图、区域范围图、柱形范围图、面积范围图、面积范围均线图、直方折线图、直方折线填充图、箱线图、瀑布图、热力图、桑基图、金字塔图、漏斗图、等二十几种类型的图形,不可谓之不多。

GitHub地址:https://github.com/AAChartModel/AAChartKit/blob/master

二、基础用法

根据官方文档的介绍,实现一个最简单的图表,代码如下:

#import "ColumnChartController.h"
#import "AAChartKit.h"

@interface ColumnChartController ()<AAChartViewEventDelegate>

@end

@implementation ColumnChartController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.title = @"Column Chart 柱状图";
    
    // 1.创建视图AAChartView
    CGFloat chartViewWidth  = self.view.frame.size.width;
    CGFloat chartViewHeight = self.view.frame.size.height - 250;
    AAChartView *chartView = [[AAChartView alloc]init];
    chartView.delegate = self;
    chartView.frame = CGRectMake(0, 60, chartViewWidth, chartViewHeight);
    禁用 AAChartView 滚动效果(默认不禁用)
    //self.aaChartView.scrollEnabled = NO;
    [self.view addSubview:chartView];
    
    // 2.配置视图模型AAChartModel
    AAChartModel *aaChartModel = AAChartModel.new
    .chartTypeSet(AAChartTypeArea)//设置图表的类型(这里以设置的为折线面积图为例)
    .titleSet(@"编程语言热度")//设置图表标题
    .subtitleSet(@"虚拟数据")//设置图表副标题
    .categoriesSet(@[@"Java",@"Swift",@"Python",@"Ruby", @"PHP",@"Go",@"C",@"C#",@"C++"])//图表横轴的内容
    .yAxisTitleSet(@"摄氏度")//设置图表 y 轴的单位
    .seriesSet(@[
        AASeriesElement.new
            .nameSet(@"2017")
            .dataSet(@[@7.0, @6.9, @9.5, @14.5, @18.2, @21.5, @25.2, @26.5, @23.3, @18.3, @13.9, @9.6]),
        AASeriesElement.new
            .nameSet(@"2018")
            .dataSet(@[@0.2, @0.8, @5.7, @11.3, @17.0, @22.0, @24.8, @24.1, @20.1, @14.1, @8.6, @2.5]),
        AASeriesElement.new
            .nameSet(@"2019")
            .dataSet(@[@0.9, @0.6, @3.5, @8.4, @13.5, @17.0, @18.6, @17.9, @14.3, @9.0, @3.9, @1.0]),
        AASeriesElement.new
            .nameSet(@"2020")
            .dataSet(@[@3.9, @4.2, @5.7, @8.5, @11.9, @15.2, @17.0, @16.6, @14.2, @10.3, @6.6, @4.8]),
    ]);
    
    // 3.图表视图对象调用图表模型对象,绘制最终图形
    [chartView aa_drawChartWithChartModel:aaChartModel];
    
//    /*仅仅更新 AAChartModel 对象的 series 属性时,动态刷新图表*/
//    [chartView aa_onlyRefreshTheChartDataWithChartModelSeries:aaChartModelSeriesArray];
//
//    /*更新 AAChartModel 内容之后,刷新图表*/
//    [chartView aa_refreshChartWithChartModel:aaChartModel];
}


//实现对 AAChartView 事件代理的监听
 #pragma mark -- AAChartView delegate
 - (void)aaChartView:(AAChartView *)aaChartView moveOverEventWithMessage:(AAMoveOverEventMessageModel *)message {
 NSLog(@"
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/365041
推荐阅读
相关标签