0

我正在尝试使用核心图和绑定设置饼图。我可以使用 CPTPieChartBindingPieSliceWidthValues 让图表正确显示

[pieChart bind:CPTPieChartBindingPieSliceWidthValues
    toObject:[self sectorAllocation]
       withKeyPath:@"arrangedObjects.sectorPercentage"
           options:nil];

(sectorAllocation 是一个 NSArray 控制器)

同样,我尝试使用 CPTPlotBindingDataLabels 绑定数据标签

[pieChart bind:CPTPlotBindingDataLabels
          toObject:[self sectorAllocation]
       withKeyPath:@"arrangedObjects.sectorName"
           options:nil];

(sectorName 是一个 NSString 值)

但是这似乎不起作用我在控制台中收到以下错误

[__NSCFString setShadow:]: 无法识别的选择器发送到实例 0x60800023fb00

似乎它不喜欢字符串对象,那么我该怎么做呢?它在寻找什么类型的对象?

4

2 回答 2

2

绑定需要一个NSArrayCore Plot 层 ( CPTLayer),每个数据索引一个。CPTTextLayer是一个常见的选择,因为它显示文本,但也允许其他图层类型。

于 2013-11-04T00:43:11.000 回答
0

显然 Core Plot 需要一个类,其实例响应setShadow:. 在 Cocoa 中只有一个类 afaik: NSView. 这似乎是绘制标签的合理类。

此外,您可以浏览 Core Plot 的文档以了解是否存在响应setShadow:.

于 2013-11-03T22:00:10.057 回答