我是核心情节的新手,想知道CPTBarPlotFieldBarLocation
和CPTBarPlotFieldBarTip
的区别。我一直在查看核心情节示例CPTTestApp_ipadViewController
,我已经看到在使用numberForPlot
方法填充ploy时调用了这两个字段枚举,但我不明白其中的区别。
感谢您的帮助
答案 0 :(得分:4)
差异非常大。如果我们在CPTBarPlotField
中查看类型CPTBarPlot
的定义,我们会看到该枚举中有三个值:
CPTBarPlotFieldBarLocation
:独立坐标轴上的条形位置。 CPTBarPlotFieldBarTip
:条形码值。 CPTBarPlotFieldBarBase
:条形基数(仅在barBasesVary为YES时使用)。 你可以问 - 我在哪里可以使用这些值?好的,你应该在方法-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
中使用这个常量。在该方法中,您应该为每个单独的条返回该属性的值。例如,
-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
{
int plotIndex = [(NSNumber *)plot.identifier intValue];
return [[[datas objectAtIndex:plotIndex] objectAtIndex:index] valueForKey:(fieldEnum == CPTBarPlotFieldBarLocation ? @"x" : @"y")];
}
在我的例子中,我的字典包含 x 轴(条形位置)和 y (条形值)的值。
我想提一下,您不应该设置plotRange
的属性CPTBarPlot *plot
或CorePlot
会自动设置条形的位置(位置0,1,2,3, 4 ....)。