0

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

-(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;  
}  

我得到的输出是这样的:
看图片

所以你可以看到差异:

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

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

4

1 回答 1

2

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

默认颜色为:

索引 RGB 颜色
------------------------------------------
  0 (1.0, 0.0, 0.0) 红色
  1 (0.0, 1.0, 0.0) 绿色
  2 (0.0, 0.0, 1.0) 蓝色
  3 (1.0, 1.0, 0.0) 黄色
  4 (0.25, 0.5, 0.25) 深绿色
  5 (1.0, 0.0, 1.0) 洋红色
  6 (0.5, 0.5, 0.5) 灰色
  7 (0.25, 0.5, 0.0) 中绿色
  8 (0.25, 0.25, 0.25) 深灰色
  9 (0.0, 1.0, 1.0) 青色
于 2012-05-23T22:55:34.920 回答