这里我没有为dataForPlot添加任何坐标(这是一个可变数组)。我试图在这里显示一组坐标。所以我在numberOfRecordsForPlot方法中返回了[dataForPlot count]。这个工作正常。
但现在我有不同的坐标集(即我在viewDidLoad方法中使用的循环4到5)
我想在每个集合中以不同颜色显示那些4到5集/记录。 我应该在numberOfRecordsForPlot方法中返回什么以及numberForPlot方法中需要进行哪些更改?我应该如何实现?
我是核心情节的新手。
- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableArray *contentArray = [NSMutableArray arrayWithCapacity:100];
NSUInteger i;
for ( i = 0; i < 60; i++ ) {
id x = [NSNumber numberWithFloat:1+i*0.05];
id y = [NSNumber numberWithFloat:1.2*rand()/(float)RAND_MAX + 1.2];
[contentArray addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:x, @"x", y, @"y", nil]];
}
self.dataForPlot = contentArray;
}
-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot
{
return [dataForPlot count];
}
-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
{
NSDecimalNumber *num = nil;
num = [[dataForPlot objectAtIndex:index] valueForKey:(fieldEnum == CPTScatterPlotFieldX ? @"x" : @"y")];
return num;
}
答案 0 :(得分:1)
首先,您应该阅读示例代码。 CPTTestAPP-iPhone。它有两个散点图。绿色和蓝色。
所有示例src代码都包含在CorePlot包中。
如果您的应用程序适用于iOS5和ARC(自动引用计数),则应使用Mercurial下载最新的完整CorePlot程序包。因为0.90版本不包括最近对ARC的修改。
- (NSUInteger)numberOfRecordsForPlot :( CPTPlot *)图 - (NSNumber *)numberForPlot:(CPTPlot *)绘图字段:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
以上两个meshods是CPTPlot的数据源。 即使您有许多散点图,每个散点图也可以有标识符。因此,数据源可以确定谁是真正的客户。