2016.05.15 iOS开发笔记之RadarChart(雷达图)

2016.05.15 iOS开发笔记之RadarChart(雷达图)

  • 这也我们产品提的一个较为奇葩的需求, 一开始接到,几乎是抓狂的,为啥会提出这种需求...让人想不通...
2016.05.15 iOS开发笔记之RadarChart(雷达图)_第1张图片
111111.png

毕竟比较新鲜,也想去尝试下,所以硬着头皮接下了...

就目前而言,我只发现2个第三方类库有实现这种雷达图的,一个是JYRadarChart(专门搞雷达图的),另一个是Charts(各类图表)...

这里我使用的是JYRadarChart,介绍一下使用方法:

以下是Demo代码:




#import "ViewController.h"
#import "JYRadarChart.h"

@interface ViewController ()
{
    JYRadarChart *p1;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    p1 =[[JYRadarChart alloc]initWithFrame:CGRectMake(0, 20, 375, 375)];

    //得分
    NSArray *arr1 = @[@(90),@(80),@(72),@(80),@(75),@(76),@(80),@(85),@(83),@(88),@(90),@(86)];

    //满分是多少分(100分)  标准分
    NSArray *arr2 =@[@(100),@(100),@(100),@(100),@(100),@(100),@(100),@(100),@(100),@(100),@(100),@(100)];


    //设置数据列  两个数组的位置可以互换,也可以有多个蜘蛛网,多个评分或者评分标准,但至少保证一个为标准,而另一个或者其他,以此为参照作比较  它们之间的差值就是蜘蛛网之间的间距...
    p1.dataSeries=@[arr1,arr2];

    //表中圆圈个数
    p1.steps=2;
    //背景色
    p1.backgroundColor=[UIColor whiteColor];
    /**  
     你可以自己设置半径的最大值和最小值,但是如果你r值不填,
     minvalue(默认为0),maxvalue(默认为100)都保持默认也没有问
     题,值如果太大,将会不在图表的范围内,因此将看不到
     */
    p1.r=100;
    p1.minValue=0;
    p1.maxValue=100;

    //你可以选择是否填充区域,还是只画线条
    p1.fillArea=YES;
    //可以指定透明度, 默认是1.0 (不透明)
    p1.colorOpacity=0.7;

    //说明性的文字 百分比啊 占比重什么的...  和前面的数组相关联
    p1.attributes=@[@"90分",@"80分",@"72分",@"80分",@"75分",@"76分",@"80分",@"85分",@"83分",@"88分",@"90分",@"86分"];
    //

    //如果你不需要图例的话,可以让它不显示
    p1.showLegend=YES;
    //由里到外 蜘蛛网所表示的内容标题  /标识
    [p1 setTitles:@[@"评分",@"总分"]];

    //蜘蛛网由里到外的颜色
    [p1 setColors:@[[UIColor orangeColor],[UIColor colorWithRed:1.0 green:0.3248 blue:0.8158 alpha:1.0]]];

    [self.view addSubview:p1];


}


@end

简单实现之后,效果图:

2016.05.15 iOS开发笔记之RadarChart(雷达图)_第2张图片
222222.png
写的Demo,挫了点,真正开发时进行优化,还是可以的,模拟的都是假数据.

你可能感兴趣的:(2016.05.15 iOS开发笔记之RadarChart(雷达图))