核心函数是:CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise)
- CGContextRef: 图形上下文
- x,y: 开始画的坐标
- radius: 半径
- startAngle, endAngle: 开始的弧度,结束的弧度
- clockwise: 画的方向(顺时针,逆时针)
有了这个函数可以画出任意扇形,所以饼图也不再话下.
#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);
//CGContextClosePath(ctx);
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]);
}
- 大小: 18.9 KB
分享到:
相关推荐
总的来说,“3D饼图Pie jquery”是一个结合了jQuery、3D图形技术和交互设计的项目,通过它可以学习到如何在网页中创建引人注目的数据可视化。这个项目不仅展示了JavaScript的强大能力,还强调了良好的用户体验设计。
在HelloChart_PieChartTest这个压缩包文件中,可能包含了一个示例项目的源代码,通过查看和运行这个项目,开发者能够更直观地理解如何在实际应用中使用HelloChart库创建饼图。这个例子可能涵盖了上述所有步骤,包括...
FLChart是一个专为Flutter框架设计的高级图表库,它提供了丰富的图表类型,包括但不限于折线图、条形图和饼图,使得开发者能够轻松地在Flutter应用中实现数据可视化。这个库是用Dart语言编写的,充分利用了Flutter的...
饼图由多个扇区组成,每个扇区代表数据的一个部分。我们可以通过JavaScript处理数据,计算出每个扇区的角度,公式为:`angle = (value / total) * 360`,其中`value`是当前部分的值,`total`是所有部分的总和。 ...
2. **设置数据源**:饼图只有一个系列,但每个数据点都代表一个扇区。通过`Series.Points.AddXY`方法添加数据点,其中X值是类别,Y值是对应的百分比。 3. **定义切片**:通过`SliceStyle`属性可以自定义每个扇区的...
以“MagicPie-master”这个项目为例,它很可能是一个用JavaScript编写的库,专注于生成具有动画功能的饼图。JavaScript因其广泛应用于Web开发而成为实现此类效果的理想选择。库通常会提供API接口,开发者可以通过...
标签"C# winform chart 饼图 直方图"则是一个关键词列表,用于标识文档内容,便于搜索和分类。 文档内容提到的“工具箱”是WinForm开发环境中的一个界面元素,开发者可以在其中找到并拖拽各种控件到窗体上。为了...
http://blog.csdn.net/wild46cat/article/details/61415218
在C#编程中,Chart控件是一个强大的工具,用于创建各种图表类型,包括饼图。饼图是一种数据可视化方式,它将数据以圆形划分,每个扇区代表一个数据项,扇区的大小与数据值成比例,使得一眼就能看出各部分在整体中所...
【前端项目-pie-chart.zip】是一个包含AngularJS的饼图组件的前端项目,名为"pie-chart"。这个项目专门用于创建美观且功能丰富的饼状图表,适用于数据分析和数据可视化的需求。AngularJS是一款强大的JavaScript框架...
本文将深入探讨如何实现一个自定义的双层嵌套饼图,其中包括内层饼图、外层饼图的展示,以及动态动画和放大效果的添加。 首先,我们要了解饼图的基本原理。饼图是通过将圆周角分配给各个数据类别来表示比例关系的...
QTChart是Qt库中的一个模块,专门用于创建各种图表,如折线图、饼图、柱状图等,适用于数据可视化。在这个“利用QTChart绘制折线、饼图、极地图.rar”压缩包中,包含了使用QTChart进行图形绘制的源代码示例,通过...
总结来说,这个实例展示了如何结合ASP.NET、C#、JSON、jQuery和Highcharts库来创建一个交互式的Pie饼图。从服务器获取数据,使用C#处理并转化为JSON,然后通过jQuery和Highcharts在客户端渲染饼图,同时实现点击事件...
总的来说,这个项目提供了一个完整的示例,演示了如何利用WebChart库结合数据库数据创建美观的饼图,对于学习ASP.NET Web应用开发和数据可视化的开发者来说,是一个非常有价值的参考资料。通过研究这个源码,你可以...
首先,我们要知道Chart控件是Windows Forms中的一个强大组件,它支持多种图表类型,如柱状图(Bar Chart)、折线图(Line Chart)和饼图(Pie Chart),适用于各种数据分析和展示需求。以下是对每种图表类型的简要...
饼图是一种用于展示数据比例和分布的图形,每个扇区代表一个类别,扇区的大小与该类别的比例成正比。在Android应用中,饼图常用于可视化简单的统计数据,如用户偏好、市场份额等。 在这个项目中,开发者通过自定义...
本文将深入探讨如何使用JavaScript来创建一个简单的饼图,以便于理解其基本原理和实现步骤。 首先,我们需要了解饼图的基本概念。饼图由一个圆代表整体,各个扇形部分表示整体中的各个部分所占的比例。每个扇形的...
标题中的“pie chart code source”指的是用于创建饼图的源代码。饼图是一种常见的数据可视化工具,它将数据集中的各个部分表示为整个整体的扇形切片,从而直观地展示各部分占总体的比例。在IT领域,饼图通常由编程...
在Windows Forms(Winform)开发中,Chart控件是一个强大的数据可视化工具,它允许开发者将各种类型的数据以图形的方式展示出来,便于用户理解和分析。本文将深入探讨如何在Winform应用中使用Chart控件,包括饼图、...
接着,创建一个Chart对象,并设置其属性来定义饼图的基本样式: ```csharp Chart pieChart = new Chart(); pieChart.Width = 600; pieChart.Height = 400; pieChart.Titles.Add("三维饼图示例"); ``` 然后,定义...