2013-07-03 124 views
0

我在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 
    } 
} 

如何判断的核心情节,这是一个百分比值(即,如果该值为25.0,那么它必须绘制它的25%,即彩色饼图的1/4)?现在,它将其视为一个绝对数字。所以我所做的是从numberForPlot返回两个值,一个是值,另一个是(100值)。

+0

你问的是如何制作一个覆盖1/4饼图的切片,或者如何用百分比标记切片? –

+0

嗨,Eric,我的问题是前者:“如何制作一个覆盖1/4馅饼的切片”? (如何告诉核心情节,从numberForPlot()返回的数字25是一个百分比而不是一个绝对数字? – Jean

回答

0

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

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

+0

我同意,埃里克。但我想只返回一个值绘图 - >这将是%的总的来说,意思就是绘制一个饼图的CPU使用率,我想说一个特定的进程正在使用25%的CPU,然后在numberForPlot中,我将返回25,这意味着25%的饼图需要需要加阴影,我如何向Core Plot表明这个25表示25%? – Jean

+0

startAngle,endAngle似乎回答了我的查询,让我试试并回来,谢谢@Eric! – Jean