`
jsntghf
  • 浏览: 2553303 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

画饼图

    博客分类:
  • iOS
阅读更多

首先,建立一个用来画饼图的视图。

 

头文件:

 

#import <Foundation/Foundation.h>

@interface PieView : UIView {
	
}

@end

 

实现文件:

 

#import "PieView.h"

@implementation PieView

#define PI 3.14159265358979323846
#define radius 100

static inline float radians(double degrees) { 
	return degrees * PI / 180; 
}

static inline void drawArc(CGContextRef ctx, CGPoint point, float angle_start, float angle_end, UIColor * color) {
	CGContextMoveToPoint(ctx, point.x, point.y);
	CGContextSetFillColor(ctx, CGColorGetComponents([color CGColor]));    
	CGContextAddArc(ctx, point.x, point.y, radius, angle_start, angle_end, 0);
	CGContextFillPath(ctx); 
}

- (void)drawRect:(CGRect)rect {
	CGContextRef ctx = UIGraphicsGetCurrentContext();
	CGContextClearRect(ctx, rect);
	
	float angle_start = radians(0.0);
	float angle_end = radians(121.0);        
	drawArc(ctx, self.center, angle_start, angle_end, [UIColor yellowColor]);
	
	angle_start = angle_end;
	angle_end = radians(228.0);        
	drawArc(ctx, self.center, angle_start, angle_end, [UIColor greenColor]);
	
	angle_start = angle_end;
	angle_end = radians(260);
	drawArc(ctx, self.center, angle_start, angle_end, [UIColor orangeColor]);
	
	angle_start = angle_end;
	angle_end = radians(360);
	drawArc(ctx, self.center, angle_start, angle_end, [UIColor purpleColor]);
}

@end

 

然后,将刚建立的视图加到当前视图上即可。

 

- (void)viewDidLoad {
	[super viewDidLoad];
	PieView *pie = [[PieView alloc] init];
	pie.frame = [[UIScreen mainScreen] bounds];
	[self.view addSubview:(UIView *) pie];
	[pie release];
}

 

示例图:


分享到:
评论

相关推荐

    js 画饼图 javascript

    在JavaScript的世界里,画饼图是一种常见的数据可视化方式,它能直观地展示各项比例关系,尤其适用于呈现多个部分组成整体的情况。"JS完美画饼图"这个话题涉及到使用JavaScript库或者自定义代码来创建动态、交互式的...

    piechart.zip_Labview饼状图_labview piechart_labview 画饼图_piechart la

    标题中的"piechart.zip_Labview饼状图_labview piechart_labview 画饼图_piechart lab"暗示了这个压缩包包含了一个关于在LabVIEW中创建和使用饼状图的实例或教程。描述提到"LabVIEW中实现饼图显示,提供比较好的人机...

    asp实现画饼图功能

    asp实现画饼图功能,很有用哦,asp实现画饼图功能,很有用哦

    C#354-画饼图组件源代码

    在C#编程中,画饼图是一种常用的可视化方式,它能直观地展示数据的比例和分布。本资源"**C#354-画饼图组件源代码**"提供了一个用于创建饼图的自定义组件,这对于我们进行数据分析、报告展示或者用户界面设计都非常有...

    【ASP.NET】按比例画饼图

    【ASP.NET】按比例画饼图 一个很简单的实例

    android画饼图

    "android画饼图"这个主题主要涉及到如何在Android应用中自定义一个饼状图控件。在这个项目中,开发者分享了其在GitHub上的源代码,供其他开发者学习和使用。 1. **自定义控件**:在Android中,如果系统自带的图表库...

    html5画饼图

    画饼图 使用html5加javascript技术生成饼图 简单容易理解

    Android 画饼图

    本项目"Android 画饼图"旨在提供一个立体和平面效果的饼图组件,适用于各种需要展示部分与整体之间关系的应用场景。下面将详细介绍如何在Android中实现饼图,以及相关的关键知识点。 首先,我们要理解饼图的基本...

    C#使用Graphics画饼图并添加到PDF当中

    在C#中画饼图,我们通常会先创建一个`Bitmap`对象作为画布,然后使用`Graphics`在该画布上绘制各个扇区。以下是一些关键步骤: 1. **初始化画布**:创建一个`Bitmap`对象,设置其大小,这将成为我们的虚拟画布。 2....

    android achat画饼图和柱图

    "android achat画饼图和柱图"这个项目就是针对这一需求,提供了在Android平台上绘制饼图和柱状图的功能。它基于对`chatengine`库中的柱图和饼图组件的复用和优化,为开发者提供了一套简洁且高效的图表解决方案。 ...

    用CSS画饼图

    用CSS绘制饼图,针对移动端上的展示,建议在谷歌浏览器上打开效果更佳,上传了两个html文件,pie.html是css静态画饼图,pieAuto.html是用我自己写的插件可以根据传入的参数动态绘制饼图

    MFC如何画饼图

    在Microsoft Foundation Class (MFC)库中,饼图是一种常用的数据可视化工具,它将数据集中的各个部分以扇形区域的大小表示出来,用于展示各部分占总体的比例关系。MFC并没有内置专门的饼图控件,但我们可以利用CWnd...

    javascript画饼图

    JavaScript 画饼图是一种在网页上可视化数据的常见方法,特别是在数据分析和信息展示中。饼图可以直观地表示各部分占整体的比例,非常适合用来展示各项数据的占比情况。在这个话题中,我们将深入探讨如何使用纯 ...

    javascript raphael 画饼图

    JavaScript Raphael 是一个强大的矢量图形库,它允许开发者在网页上创建复杂的图形,包括饼图。Raphael 使用SVG(Scalable Vector ...Raphael库还提供了许多其他图形和功能,如线图、柱状图等,可以进一步探索和学习。

    画饼图的DEMO

    在IT领域,可视化数据是至关重要的,而饼图是一种常用且直观的数据表示方式。本DEMO专注于演示如何绘制饼图和圆弧,帮助用户通过不同的颜色来区分各个部分,以根据百分比展示数据的比例关系。以下是对这个DEMO中涉及...

    画饼图组件

    "画饼图组件"是一种常用于数据可视化工具,它能够以圆形图表的形式展示各部分数据的比例关系。在软件开发中,特别是在数据分析、报表展示或仪表板应用中,饼图组件是一个重要的元素。C# 类是面向对象编程语言C#中的...

    在Echarts 地图上画饼图

    首先,ECharts是一个由百度公司开发的开源JavaScript图表库,它提供了丰富的图表类型,如柱状图、折线图、饼图以及各种地图等,适用于网页数据可视化。ECharts的设计理念是易用、灵活且强大,支持多种数据格式和交互...

    画饼图组件(C#)

    "画饼图组件(C#)"是一个专门用于在C#应用程序中创建饼图的工具,它允许开发者以图形化的方式展示数据比例和分布。饼图是一种常见的统计图表,用于显示整体与各部分之间的关系,常用于业务分析、项目管理等领域。 ...

    如何用C语言画饼图,数据可以自行输入

    此程序主要是用C语言编写的,用TC运行更加方便。可以实现饼图数据自行输入~

Global site tag (gtag.js) - Google Analytics