2

我是核心情节的新手,想知道CPTBarPlotFieldBarLocationCPTBarPlotFieldBarTip. 我一直在查看核心情节示例CPTTestApp_ipadViewController,并且我看到在使用numberForPlot-method 填充策略期间调用了这两个字段枚举,但我不明白其中的区别。

谢谢你的帮助

4

1 回答 1

4

差异非常大。如果我们查看类型的定义,CPTBarPlotField我们CPTBarPlot将看到该枚举中有三个值:

  1. CPTBarPlotFieldBarLocation独立坐标轴上的条形位置。
  2. CPTBarPlotFieldBarTip条提示值。
  3. 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 ......)。

于 2011-09-21T12:46:19.850 回答