核心图:在饼图中绘制百分比

时间:2013-07-03 12:40:16

标签: ios core-plot

我在iPhone应用程序中尝试使用Core Plot的简单饼图。我想绘制一个值,即使用的CPU的百分比。在方法'numberForPlot'中,这是我写的

-(NSNumber *) numberForPlot:(CPTPlot *)plot
                  field:(NSUInteger)fieldEnum
            recordIndex:(NSUInteger)index {

    Health_Cpu *healthData = (Health_Cpu *) [dictHealth objectForKey:[self.arrayHealthKeys objectAtIndex:0]];
    if (CPTPieChartFieldSliceWidth == fieldEnum) {
        return [NSNumber numberWithFloat:healthData.cpuUsage]; // In Percentage
    }
}

如何告诉Core Plot这是一个百分比值(即如果值是25.0,那么它必须将其绘制为25%,即饼图的颜色1/4)?现在,它将它作为绝对数字。所以我所做的是从numberForPlot返回两个值,一个是值,另一个是(100值)。

1 个答案:

答案 0 :(得分:0)

要使切片宽度为25.0占饼的1/4,其他切片应为75.0。每个切片占据x / sum(x)计算的整圆的一小部分,其中x是切片宽度值,sum(x)是所有切片切片宽度的总和。

或者,设置饼图的startAngleendAngle。将在这两个角度之间绘制所有切片,其大小与其值成比例。这应该只适用于一个可以有任何值的切片。