PNChart,简洁高效有动画效果的iOS图表库

栏目: 编程工具 · 发布时间: 6年前

内容简介:注: 文章由我们 iOS122(http://www.ios122.com)的小伙伴

PNChart,简洁高效有动画效果的iOS图表库

导入

  • pod导入相对简单,要手动导入这个库,先下载下来(https://github.com/kevinzhow/PNChart),解压后把PNChart文件夹拖入工程中

  • 运行发现#import”PNRadarChartDataItem.h”报红,在它的.h文件里引入#import<UIKit/UIKit.h>头文件;#import<UICountingLabel/UICountingLabel.h>报错,下载UICountingLabel(https://github.com/dataxpress/UICountingLabel)解压后把UICountingLabel的.m和.h文件拖入工程,把报错的#import<UICountingLabel/UICountingLabel.h>头文件换为#import”UICountingLabel.h”

项目中引用头文件#import”PNChart.h”

折线图

Objective-C

PNLineChart * lineChart = [[PNLineChartalloc]initWithFrame:CGRectMake(0,135.0,SCREEN_WIDTH,200.0)];
//X轴数据
[lineChart setXLabels:@[@"SEP 1",@"SEP 2",@"SEP 3",@"SEP 4",@"SEP 5"]];

//Y轴数据
NSArray * data01Array =@[@60.1,@160.1,@126.4,@262.2,@186.2];
PNLineChartData *data01 = [PNLineChartDatanew];
data01.color = PNFreshGreen;
data01.itemCount = lineChart.xLabels.count;
data01.getData = ^(NSUInteger index) {
    CGFloat yValue = [data01Array[index] floatValue];
    return [PNLineChartDataItemdataItemWithY:yValue];
};

//可以添加多条折线
NSArray * data02Array =@[@20.1,@180.1,@26.4,@202.2,@126.2];
PNLineChartData *data02 = [PNLineChartDatanew];
data02.color = PNTwitterColor;
data02.itemCount = lineChart.xLabels.count;
data02.getData = ^(NSUInteger index) {
    CGFloat yValue = [data02Array[index] floatValue];
    return [PNLineChartDataItemdataItemWithY:yValue];
};

lineChart.chartData = @[data01, data02];
[lineChart strokeChart];
//加载在视图上
[self.windowaddSubview:lineChart];
PNLineChart*lineChart=[[PNLineChartalloc]initWithFrame:CGRectMake(0,135.0,SCREEN_WIDTH,200.0)];
//X轴数据
[lineChartsetXLabels:@[@"SEP 1",@"SEP 2",@"SEP 3",@"SEP 4",@"SEP 5"]];
//Y轴数据
NSArray*data01Array=@[@60.1,@160.1,@126.4,@262.2,@186.2];
PNLineChartData*data01=[PNLineChartDatanew];
data01.color=PNFreshGreen;
data01.itemCount=lineChart.xLabels.count;
data01.getData=^(NSUIntegerindex){
	CGFloatyValue=[data01Array[index]floatValue];
	return[PNLineChartDataItemdataItemWithY:yValue];
};
//可以添加多条折线
NSArray*data02Array=@[@20.1,@180.1,@26.4,@202.2,@126.2];
PNLineChartData*data02=[PNLineChartDatanew];
data02.color=PNTwitterColor;
data02.itemCount=lineChart.xLabels.count;
data02.getData=^(NSUIntegerindex){
	CGFloatyValue=[data02Array[index]floatValue];
	return[PNLineChartDataItemdataItemWithY:yValue];
};
lineChart.chartData=@[data01,data02];
[lineChartstrokeChart];
//加载在视图上
[self.windowaddSubview:lineChart];

柱状图

Objective-C

PNBarChart * barChart = [[PNBarChartalloc]initWithFrame:CGRectMake(0,135.0,SCREEN_WIDTH,200.0)];
 //X轴数据
[barChart setXLabels:@[@"SEP 1",@"SEP 2",@"SEP 3",@"SEP 4",@"SEP 5"]];
//Y轴数据
[barChart setYValues:@[@1, @10,@2,@6,@3]];
[barChart strokeChart];

//加载在视图上
[self.windowaddSubview:barChart];
PNBarChart*barChart=[[PNBarChartalloc]initWithFrame:CGRectMake(0,135.0,SCREEN_WIDTH,200.0)];
//X轴数据
[barChartsetXLabels:@[@"SEP 1",@"SEP 2",@"SEP 3",@"SEP 4",@"SEP 5"]];
//Y轴数据
[barChartsetYValues:@[@1,@10,@2,@6,@3]];
[barChartstrokeChart];
 
//加载在视图上
[self.windowaddSubview:barChart];
 

饼状图

Objective-C

PNPieChart *pieChart = [[PNPieChartalloc]initWithFrame:CGRectMake(40.0,155.0,240.0,240.0)items:items];
//饼状图文字颜色
pieChart.descriptionTextColor = [UIColorwhiteColor];
pieChart.descriptionTextFont  = [UIFontfontWithName:@"Avenir-Medium"size:14.0];
//绘制
[pieChart strokeChart];

//加载在视图上
[self.windowaddSubview:pieChart];
PNPieChart*pieChart=[[PNPieChartalloc]initWithFrame:CGRectMake(40.0,155.0,240.0,240.0)items:items];
//饼状图文字颜色
pieChart.descriptionTextColor=[UIColorwhiteColor];
pieChart.descriptionTextFont  =[UIFontfontWithName:@"Avenir-Medium"size:14.0];
//绘制
[pieChartstrokeChart];
 
//加载在视图上
[self.windowaddSubview:pieChart];
 

圆形进度条

Objective-C

// total参数是进度条的总数据量,current是当前的数据量,closewise是绘制方向,YES是从左到右,NO为从右到左
PNCircleChart *circleChart = [[PNCircleChartalloc]initWithFrame:CGRectMake(40.0,155.0,240.0,240.0)total:@100current:@30clockwise:NO];

//绘制图形
[circleChart strokeChart];

//加载在视图上
[self.windowaddSubview:circleChart];
// total参数是进度条的总数据量,current是当前的数据量,closewise是绘制方向,YES是从左到右,NO为从右到左
PNCircleChart*circleChart=[[PNCircleChartalloc]initWithFrame:CGRectMake(40.0,155.0,240.0,240.0)total:@100current:@30clockwise:NO];
 
//绘制图形
[circleChartstrokeChart];
 
//加载在视图上
[self.windowaddSubview:circleChart];
 

注: 文章由我们 iOS122(http://www.ios122.com)的小伙伴 @偌一茗 整理,喜欢就一起参与:iOS122 任务池


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learning jQuery

Learning jQuery

Jonathan Chaffer、Karl Swedberg / Packt Publishing / 2007-7-7 / GBP 24.99

jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. In this book, creators of the popular jQuery learning resource, learningquery.com, share the......一起来看看 《Learning jQuery》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具