2010-07-29 177 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是繪製半餅圖,但我認爲你會在那裏找到一些有用的信息。