PNChart用法

#define MAIN_WIDTH [[UIScreen mainScreen] bounds].size.width

#define MAIN_HEIGHT [[UIScreen mainScreen] bounds].size.height

//1.PNCircleChart圆环=================================

//初始化圆环PNCircleChart最后一个初始化方法功能比较齐全

//total总圆100单位

//current占总圆的80单位

//clockwise顺时针方向YES

//shadow有阴影YES

//shadowColor阴影颜色greenColor

//displayCountingLabel是否显示计数标签YES

//overrideLineWidth圆环的宽20像素

PNCircleChart * circleChart = [[PNCircleChart alloc]initWithFrame:CGRectMake(0, 150, MAIN_WIDTH, 200) total:[NSNumber numberWithInt:100] current:[NSNumber numberWithInt:80] clockwise:YES shadow:YES shadowColor:[UIColor greenColor] displayCountingLabel:YES overrideLineWidth:[NSNumber numberWithInt:20]];

//设置颜色

[circleChart setStrokeColorGradientStart:[UIColor redColor]];

//开始画圆

[circleChart strokeChart];

//背景颜色

circleChart.backgroundColor = [UIColor yellowColor];

//Add

[self.view addSubview:circleChart];

//效果如下图

//2.PNLineChart折线图=================================

PNLineChart *lineChart = [[PNLineChart alloc]initWithFrame:CGRectMake(0, 150, MAIN_WIDTH, 300)];

//设置背景颜色

lineChart.backgroundColor = [UIColor yellowColor];

//设置坐标轴是否可见

lineChart.showCoordinateAxis = YES;

//设置是否显示网格线

lineChart.showYGridLines = YES;

//设置网格线颜色

lineChart.yGridLinesColor = [UIColor grayColor];

//设置X轴标签

lineChart.xLabels = @[@"魅族",@"华为",@"中兴",@"小米",@"苹果",@"一加",@"乐视"];

//设置坐标轴颜色

lineChart.axisColor = [UIColor blueColor];

//设置坐标轴宽度

lineChart.axisWidth = 2.0;

//Add

[self.view addSubview:lineChart];

//曲线数据1

PNLineChartData *data1 = [[PNLineChartData alloc]init];

//曲线颜色

data1.color = PNRed;

//曲线格式

data1.inflexionPointStyle = PNLineChartPointStyleCircle;

//设置数据(Y轴坐标根据数据的大小自动适应)

NSArray *dataArray1 = @[@4,@8,@7,@4,@19,@6,@5];

data1.itemCount = dataArray1.count;

data1.getData = ^(NSUInteger index){

CGFloat yValue = [dataArray1[index] floatValue];

return [ PNLineChartDataItem dataItemWithY:yValue];

};

//曲线数据2

PNLineChartData *data2 = [[PNLineChartData alloc]init];

//曲线颜色

data2.color = PNGreen;

//曲线格式

data2.inflexionPointStyle = PNLineChartPointStyleCircle;

//设置数据(Y轴坐标根据数据的大小自动适应)

NSArray *dataArray2 = @[@6,@15,@3,@12,@20,@16,@3];

data2.itemCount = dataArray2.count;

data2.getData = ^(NSUInteger index){

CGFloat yValue = [dataArray2[index] floatValue];

return [ PNLineChartDataItem dataItemWithY:yValue];

};

lineChart.chartData = @[data1,data2];

//开始绘图

[lineChart strokeChart];

//数据标注名称

data1.dataTitle = @"数据1标注名称";

data2.dataTitle = @"数据2标注名称";

//标注摆放样式

lineChart.legendStyle = PNLegendItemStyleSerial;

//标注字体

lineChart.legendFont = [UIFont boldSystemFontOfSize:12.0f];

//标注颜色

lineChart.legendFontColor = [UIColor redColor];

// 标示所在的View

UIView *legend = [lineChart getLegendWithMaxWidth:MAIN_WIDTH];

[legend setFrame:CGRectMake(0, 480, legend.frame.size.width, legend.frame.size.height)];

legend.backgroundColor = [UIColor yellowColor];

[self.view addSubview:legend];

//效果图如下

//3.PNBarChart柱状图=================================

PNBarChart *barChart = [[PNBarChart alloc] initWithFrame:CGRectMake(0, 150, MAIN_WIDTH, 300)];

barChart.backgroundColor = [UIColor yellowColor];

//Y坐标label宽度(微调)

barChart.yChartLabelWidth = 20.0;

barChart.chartMarginLeft = 30.0;

barChart.chartMarginRight = 10.0;

barChart.chartMarginTop = 5.0;

barChart.chartMarginBottom = 10.0;

//X坐标刻度的上边距

barChart.labelMarginTop = 2.0;

//是否显示坐标轴

barChart.showChartBorder = YES;

[barChart setXLabels:@[@"魅族",@"华为",@"中兴",@"小米",@"苹果",@"乐视"]];

[barChart setYValues:@[@20,@8,@5,@33,@16,@8]];

//每个柱子的颜色

[barChart setStrokeColors:@[PNGreen,PNRed,PNRed,PNRed,PNRed,PNRed]];

//    barChart.strokeColor = [UIColor redColor];

//是否立体效果

barChart.isGradientShow = NO;

//显示各条状图的数值

barChart.isShowNumbers = YES;

//开始绘图

[barChart strokeChart];

barChart.delegate = self;

//Add

[self.view addSubview:barChart];

//效果图如下


//4.PNPieChart圆饼图=================================

//圆饼数据

NSArray *items = @[[PNPieChartDataItem dataItemWithValue:30 color:PNRed],

[PNPieChartDataItem dataItemWithValue:10 color:PNFreshGreen description:@"绿色"],

[PNPieChartDataItem dataItemWithValue:60 color:PNBlue description:@"蓝色"],

];

//PNPieChart初始化

PNPieChart *pieChart = [[PNPieChart alloc] initWithFrame:CGRectMake(SCREEN_WIDTH /2 - 100, 150, 200, 200) items:items];

pieChart.backgroundColor = [UIColor yellowColor];

//扇形上字体颜色

pieChart.descriptionTextColor = [UIColor whiteColor];

pieChart.descriptionTextFont  = [UIFont fontWithName:@"Avenir-Medium" size:11.0];

// 阴影颜色

pieChart.descriptionTextShadowColor = [UIColor yellowColor];

//显示实际数值(不显示比例数字)

pieChart.showAbsoluteValues = YES;

// 只显示数值不显示内容描述

pieChart.showOnlyValues = NO;

//开始绘图

[pieChart strokeChart];

//Add

[self.view addSubview:pieChart];

// 标注排放样式

pieChart.legendStyle = PNLegendItemStyleStacked;

pieChart.legendFont = [UIFont boldSystemFontOfSize:12.0f];

UIView *legend = [pieChart getLegendWithMaxWidth:200];

[legend setFrame:CGRectMake(130, 350, legend.frame.size.width, legend.frame.size.height)];

[self.view addSubview:legend];

//效果图如下

//5.PNRadarChart无线电图=================================

//View背景颜色

self.view.backgroundColor = [UIColor yellowColor];

NSArray *items = @[[PNRadarChartDataItem dataItemWithValue:6 description:@"语文"],

[PNRadarChartDataItem dataItemWithValue:20 description:@"数学"],

[PNRadarChartDataItem dataItemWithValue:8 description:@"英语"],

[PNRadarChartDataItem dataItemWithValue:5 description:@"体育"],

[PNRadarChartDataItem dataItemWithValue:9 description:@"美术"],

[PNRadarChartDataItem dataItemWithValue:4 description:@"其他的"]

];

PNRadarChart *radarChart = [[PNRadarChart alloc] initWithFrame:CGRectMake(0, 150, SCREEN_WIDTH, 300.0) items:items valueDivider:2];

//开始绘图

[radarChart strokeChart];

//Add

[self.view addSubview:radarChart];

//效果图如下


//

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 1、改变 UITextField 占位文字 颜色和去掉底部白框 [_userName setValue:[UICo...
    i_MT阅读 1,025评论 0 2
  • iOS_autoLayout_Masonry 概述 Masonry是一个轻量级的布局框架与更好的包装AutoLay...
    指尖的跳动阅读 1,149评论 1 4
  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    FF_911阅读 1,353评论 0 3
  • 落絮任风吹,留不住,满院纷飞。奈何好季花期短,生逢骤雨,芳华纵逝,香损枝垂。 做梦也低眉,终不怨,还盼春归。等春把...
    冷风吹HUI阅读 169评论 6 2
  • 让你留下的人, 现在走了! 而你仍然愿意留下, 因为这里的每一寸土地, 都饱含着你的血和泪, 你的荣耀, 还有那深...
    汐鲌阅读 94评论 0 2