首先,建立一个用来画饼图的视图。
头文件:
#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];
}
示例图:
分享到:
相关推荐
在JavaScript的世界里,画饼图是一种常见的数据可视化方式,它能直观地展示各项比例关系,尤其适用于呈现多个部分组成整体的情况。"JS完美画饼图"这个话题涉及到使用JavaScript库或者自定义代码来创建动态、交互式的...
标题中的"piechart.zip_Labview饼状图_labview piechart_labview 画饼图_piechart lab"暗示了这个压缩包包含了一个关于在LabVIEW中创建和使用饼状图的实例或教程。描述提到"LabVIEW中实现饼图显示,提供比较好的人机...
asp实现画饼图功能,很有用哦,asp实现画饼图功能,很有用哦
在C#编程中,画饼图是一种常用的可视化方式,它能直观地展示数据的比例和分布。本资源"**C#354-画饼图组件源代码**"提供了一个用于创建饼图的自定义组件,这对于我们进行数据分析、报告展示或者用户界面设计都非常有...
【ASP.NET】按比例画饼图 一个很简单的实例
"android画饼图"这个主题主要涉及到如何在Android应用中自定义一个饼状图控件。在这个项目中,开发者分享了其在GitHub上的源代码,供其他开发者学习和使用。 1. **自定义控件**:在Android中,如果系统自带的图表库...
画饼图 使用html5加javascript技术生成饼图 简单容易理解
本项目"Android 画饼图"旨在提供一个立体和平面效果的饼图组件,适用于各种需要展示部分与整体之间关系的应用场景。下面将详细介绍如何在Android中实现饼图,以及相关的关键知识点。 首先,我们要理解饼图的基本...
在C#中画饼图,我们通常会先创建一个`Bitmap`对象作为画布,然后使用`Graphics`在该画布上绘制各个扇区。以下是一些关键步骤: 1. **初始化画布**:创建一个`Bitmap`对象,设置其大小,这将成为我们的虚拟画布。 2....
"android achat画饼图和柱图"这个项目就是针对这一需求,提供了在Android平台上绘制饼图和柱状图的功能。它基于对`chatengine`库中的柱图和饼图组件的复用和优化,为开发者提供了一套简洁且高效的图表解决方案。 ...
在数据分析中,可视化是一种强大的工具,可以帮助我们更好地理解数据的分布和特征。Jupyter Notebook 是一个广泛使用的交互式编程环境,特别适合进行数据分析和可视化。在这个场景中,我们将讨论如何使用Jupyter ...
用CSS绘制饼图,针对移动端上的展示,建议在谷歌浏览器上打开效果更佳,上传了两个html文件,pie.html是css静态画饼图,pieAuto.html是用我自己写的插件可以根据传入的参数动态绘制饼图
在Microsoft Foundation Class (MFC)库中,饼图是一种常用的数据可视化工具,它将数据集中的各个部分以扇形区域的大小表示出来,用于展示各部分占总体的比例关系。MFC并没有内置专门的饼图控件,但我们可以利用CWnd...
JavaScript 画饼图是一种在网页上可视化数据的常见方法,特别是在数据分析和信息展示中。饼图可以直观地表示各部分占整体的比例,非常适合用来展示各项数据的占比情况。在这个话题中,我们将深入探讨如何使用纯 ...
JavaScript Raphael 是一个强大的矢量图形库,它允许开发者在网页上创建复杂的图形,包括饼图。Raphael 使用SVG(Scalable Vector ...Raphael库还提供了许多其他图形和功能,如线图、柱状图等,可以进一步探索和学习。
在IT领域,可视化数据是至关重要的,而饼图是一种常用且直观的数据表示方式。本DEMO专注于演示如何绘制饼图和圆弧,帮助用户通过不同的颜色来区分各个部分,以根据百分比展示数据的比例关系。以下是对这个DEMO中涉及...
"画饼图组件"是一种常用于数据可视化工具,它能够以圆形图表的形式展示各部分数据的比例关系。在软件开发中,特别是在数据分析、报表展示或仪表板应用中,饼图组件是一个重要的元素。C# 类是面向对象编程语言C#中的...
首先,ECharts是一个由百度公司开发的开源JavaScript图表库,它提供了丰富的图表类型,如柱状图、折线图、饼图以及各种地图等,适用于网页数据可视化。ECharts的设计理念是易用、灵活且强大,支持多种数据格式和交互...
"画饼图组件(C#)"是一个专门用于在C#应用程序中创建饼图的工具,它允许开发者以图形化的方式展示数据比例和分布。饼图是一种常见的统计图表,用于显示整体与各部分之间的关系,常用于业务分析、项目管理等领域。 ...
此程序主要是用C语言编写的,用TC运行更加方便。可以实现饼图数据自行输入~