我正在开发一个包含饼图的应用程序。我想显示在中心对应区域显示的值(用于制作饼图)。
我正在使用此代码绘制PieChart:
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);
我可以在饼图顶部添加标签,但我无法将标签放在该区域的中心。
任何人都可以帮我解决这个问题。它非常紧迫和重要。我在这个问题上花了很多时间......
谢谢
答案 0 :(得分:1)
当你谈论一个馅饼切片时,该区域的“中心”是一个定义不明确的概念。这就是我要做的事情:
在startDeg
和endDeg
之间取一个角度,半径约为r
的1/2到2/3,然后将标签的中心放在那里。必须进行极坐标到矩形的坐标转换,如果您忘记了,则:
x = r * cos(angle);
y = r * sin(angle);
答案 1 :(得分:0)
显示饼图的标签需要一点点数学。 HUChart是绘制半个饼图,但我想你会在那里找到一些有用的信息。