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

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

内容简介:PNChart,简洁高效有动画效果的iOS图表库

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 任务池


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

营销三大算法

营销三大算法

刘学林、刘逸春、张新春、王颖、余彬晶、刘锦炽、董少灵、沈逸超、王锐睿、孙静若 / 上海交通大学出版社 / 2018-1-31 / 88.00元

未来的营销应该是数字化的,即数字营销。以数据为本,用演算做根,数字营销能够演算生活的方方面面。在数字营销领域,市场的整个投入、产出带来什么东西?企业一定要狠清楚地知道,这是做数字营销的本质。数字营销和企业做生意的本质是一样的,目的都是以投入换取产出。 本书由正和岛数字营销部落编写,基于大量企业的案例与数据,提出了营销三大核心算法与一套全局营销系统,帮助企业CEO与营销人员科学化建立全局营销系......一起来看看 《营销三大算法》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试