defaultPieSliceColorForINdex:index未返回正确的颜色值:coreplot

时间:2012-05-23 12:49:35

标签: iphone core-plot pie-chart

我正在尝试使用下面的委托方法来绘制数据标签

-(CPTLayer *) dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index
{  
    CPTTextLayer *label = [[CPTTextLayer alloc] initWithText:
        [NSString stringWithFormat:@"%u", index]];  
    CPTMutableTextStyle *textStyle = [label.textStyle mutableCopy];  
    textStyle.color = [CPTPieChart defaultPieSliceColorForIndex:index];  
    label.textStyle=textStyle;  
    return label;  
}  

我得到的输出是这样的:
see image

所以你可以看到差异:

  • 切片0数据标签为红色,但应为黄色。
  • 切片3数据标签为黄色但应为品红色。

我可以通过switch(index)来实现这一点,但为什么它不能这样工作呢? 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

标签是正确的颜色 - 它是与默认颜色不匹配的饼图。其他数据源方法返回什么值?

默认颜色为:

Index   RGB                   Color
------------------------------------------
  0     (1.0, 0.0, 0.0)       Red
  1     (0.0, 1.0, 0.0)       Green
  2     (0.0, 0.0, 1.0)       Blue
  3     (1.0, 1.0, 0.0)       Yellow
  4     (0.25, 0.5, 0.25)     Dark green
  5     (1.0, 0.0, 1.0)       Magenta
  6     (0.5, 0.5, 0.5)       Gray
  7     (0.25, 0.5, 0.0)      Medium green
  8     (0.25, 0.25, 0.25)    Dark gray
  9     (0.0, 1.0, 1.0)       Cyan