我在使用 CorePlot 框架绘制数据时遇到问题。我已经集成了它,下面是我正在处理的项目中的代码示例:实时散点图。
如果我的数据源具有相同的值,则图表不会绘制。
这是绘制点的代码:
#pragma mark - CPTPlotDataSource methods
-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot {
return [appDelegate.arrayLiveValues count];
}
-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum
recordIndex:(NSUInteger)index
{
NSInteger valueCount = [appDelegate.arrayLiveValues count];
switch (fieldEnum) {
case CPTScatterPlotFieldX:
if (index < valueCount) {
return [NSNumber numberWithUnsignedInteger:index];
}
break;
case CPTScatterPlotFieldY:
return [appDelegate.arrayLiveValues objectAtIndex:index];
break;
}
return [NSDecimalNumber zero];
}
如果appDelegate.arrayLiveValues
数组包含重复值,则它不会绘图。如果它有不同的值,它会根据 中的值绘制图形datasource
,即appDelegate.arrayLiveValues
图形缩放级别正在设置。我想知道内部功能是什么
-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index method;