2010-07-29 176 views
0

我正在开发一个包含饼图的应用程序。我想显示(用于制作饼图的)值显示在中心对应的区域。如何在饼图上显示标签

我使用这个代码绘制饼图:

CGContextSetRGBFillColor(ctx, 0.52, 0.63, 0.31, 1.0); 
    CGContextMoveToPoint(ctx, posX, posY); 
    CGContextAddArc(ctx, posX, posY, r,(startDeg)*M_PI/180.0, (endDeg)*M_PI/180.0, 0); 
    CGContextClosePath(ctx); 
    CGContextFillPath(ctx); 

我可以在饼图的顶部添加标签,但我不能在该地区的中心,标签位置。

任何人都可以请帮我解决这个问题。它非常紧急和重要。我花了很多时间在这个问题上...

谢谢

回答

1

该区域的“中心”是那种当你谈论一个圆形切片一个定义不清的概念。这是我会做:

取角度中途startDegendDeg之间的半径沿约1/2至2/3 r和放下你的标签的中央有。极坐标直方坐标转换是必要的,如果您忘记了:

x = r * cos(angle); 
y = r * sin(angle); 
0

显示饼图标签需要一点点数学计算。 HUChart是绘制半饼图,但我认为你会在那里找到一些有用的信息。