0
CorePlot 프레임 워크를 사용하여 데이터를 플로팅 할 때 문제가 있습니다. 나는 integrated it 아래에 내가 일하고있는 프로젝트에서 내 코드의 샘플이있다 : live scatter 차트.문제 있음 데이터가 동일한 데이터가있는 경우 그래프를 플롯하지 않음
데이터 소스의 값이 같으면 그래프가 플롯되지 않습니다.
이
플로팅 포인트 코드입니다 :appDelegate.arrayLiveValues
배열 한 후 플로팅 아니에요 중복 값을 포함
#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];
}
합니다. 값이 다른 경우 그래프에 그려지는 값이 datasource
입니다 (예 : appDelegate.arrayLiveValues
). 그래프 확대/축소 수준이 설정됩니다. 나는
-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index method;
'arrayLiveValues'가 숫자 배열 인 것으로 가정하면 정상적으로 보입니다. 플롯 공간을 어떻게 확장하고 있습니까? –
배열에 각각의 모든 객체와 동일한 번호가 포함되어있는 경우 그 다음 플로팅하지 않습니다. 다음과 같은 방법으로 그것의 규모를 설정합니다. [plotSpace scaleToFitPlots : [NSArray arrayWithObjects : aaplPlot, nil]]; – Srinivas
모든 데이터 포인트가 정확히 동일하면 플롯 범위는 길이가 0으로 끝납니다. 범위를 크기를 조정하고 필요에 따라 조정하여 모든 상황에서 데이터가 계속 표시되도록하려면'xRange'와'yRange'를 확인해야합니다. –