我正在尝试使用核心图和绑定来设置饼图。我可以使用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
它似乎不喜欢字符串对象,所以我该怎么做呢?以及它在寻找什么类型的物体?
答案 0 :(得分:2)
绑定需要NSArray
核心图层(CPTLayer
),每个数据索引一个。 CPTTextLayer
是一个常见的选择,因为它显示文本,但也允许使用其他图层类型。
答案 1 :(得分:0)
显然,Core Plot需要一个类,其实例响应setShadow:
。在Cocoa,只有一个类afaik:NSView
。这似乎是绘制标签的合理类。
此外,您可以浏览Core Plot的文档,以了解是否存在响应setShadow:
的框架类。