2
次のコードを使用してPieChartを作成しました。ここでは、x
とy
の合計を100%とし、を緑色のpieChartに表示しました。私は正確x%
(実施例45%
(又は)55%
)を表示する赤色の色にPieChartにテキストを表示するには?
iが厳密y%
(実施例55%
(又は)45%
)を表示する緑色に。
X
とY
の値は変数です。これらの値は、私がアプリケーションを実行するたびに変わります。私はそれらの地域のパーセンテージで緑色と赤色のpieChartを表示したいと思います。どのようにフレームを作成してその地域にパーセンテージを表示できますか?あなたはのdrawRectメソッド中にNSStringのdrawInRectで文字列を描画することができ
.mファイル
- (void)drawRect:(CGRect)rect
{
// Drawing code
int x = 25;
int y = 42;
float sum = x + y;
float mult = (360/sum);
float startDeg = 0;
float endDeg = 0;
int x = 74;
int y = 60;
int r = 60;
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(ctx, 1.0, 1.0, 1.0, 1.0);
CGContextSetLineWidth(ctx, 2.0);
startDeg = 0;
endDeg = (x * mult);
if(startDeg != endDeg)
{
CGContextSetRGBFillColor(ctx, 0.0, 0.8, 0.0, 1.0);
CGContextMoveToPoint(ctx, x, y);
CGContextAddArc(ctx, x, y, r, (startDeg)*M_PI/180.0, (endDeg)*M_PI/180.0, 0);
CGContextClosePath(ctx);
CGContextFillPath(ctx);
}
startDeg = endDeg;
endDeg = endDeg + (y * mult);
if(startDeg != endDeg)
{
CGContextSetRGBFillColor(ctx, 0.8, 0.0, 0.0, 1.0);
CGContextMoveToPoint(ctx, x, y);
CGContextAddArc(ctx, x, y, r, (startDeg)*M_PI/180.0, (endDeg)*M_PI/180.0, 0);
CGContextClosePath(ctx);
CGContextFillPath(ctx);
}
}
私のpiechartの主な問題は、座標を知ることができないことです。緑色と赤色の領域は、x%とy%に依存して変化します。x%が60の場合.. 60 x%が20の場合のX領域の%。20%の領域で20%を表示したい。%の値を持つ四角形の座標が変化している。上記の答えでは、固定座標(100,100)を与える...それは私の主な問題です...あなたはテキストを持つpieChartを描画する別のソースコードがある場合。私に教えてください....ありがとう.. – SriKanth
@SriKanthテキストを配置するためのx座標とy座標を見つける方法を示すために私の答えを更新しました。 – bbarnhart
ありがとうありがとうございました...私は今それが来ることを願っています..私はそれを試しています...しかし、DEGREES_TO_RADIANSメソッドは、 "関数の暗黙の宣言はc99で無効です" .. ..私はiOS5でこれをやっています。 ..その方法がなければ私は度をラジアンに変換しています...それはいいです..それを変換するためのiOS5のメソッドはありますか? – SriKanth