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 に答える