我在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值)。
答案 0 :(得分:0)
要使切片宽度为25.0占饼的1/4,其他切片应为75.0。每个切片占据x / sum(x)
计算的整圆的一小部分,其中x
是切片宽度值,sum(x)
是所有切片切片宽度的总和。
或者,设置饼图的startAngle
和endAngle
。将在这两个角度之间绘制所有切片,其大小与其值成比例。这应该只适用于一个可以有任何值的切片。