2013-10-30 4 views
0

io6 프로그래밍에 익숙하지 않고 코어 플롯을 사용하여 원하는 위치에 축 라벨을 붙이는 데 어려움이 있습니다. 나는 틱 마크가 올바른 위치에 있다고 생각하지만 아래 코드를 사용하면 레이블이 누락되었습니다. NSmutableArray xd 위에 균등하게 간격을 둔 눈금 표시를 원합니다. 그러나 레이블 값은 눈금 표시 위치의 지수 값이어야합니다. 누구든지 조언을 해줄 수 있습니까? 사전에코어 플롯 라벨

감사

NSMutableArray *xd = [[dataClass sharedInstance] xGrid]; 

CPTXYAxis *x = axisSet.xAxis; 
x.labelingPolicy=CPTAxisLabelingPolicyNone; 

int totalNumberOfPoints = 10.0; 
int i = 0; 
NSMutableSet *xLabels = [NSMutableSet setWithCapacity:totalNumberOfPoints]; 
NSMutableSet *xLocations = [NSMutableSet setWithCapacity:totalNumberOfPoints]; 
while (i < totalNumberOfPoints) 
{ 
    NSNumber *xData = [NSNumber numberWithDouble:[[xd objectAtIndex:(i*100.0/totalNumberOfPoints)] doubleValue]]; 
    double xData2 = exp([[xd objectAtIndex:(i*100.0/totalNumberOfPoints)] doubleValue]); 
    CPTAxisLabel *label = [[CPTAxisLabel alloc] initWithText:[NSString stringWithFormat:@"%.2f", xData2] textStyle:x.labelTextStyle]; 
    label.tickLocation = CPTDecimalFromInt([xData doubleValue]); 
    label.offset = x.majorTickLength; 

    if (label) 
    { 
     [xLabels addObject:label]; 
     [xLocations addObject:xData]; 
    } 

    i ++; 
} 

편집 : 나는 명확 않았을 수 있습니다. 내가 겪고있는 문제는 위의 코드에서 그래프에 전혀 레이블이 나타나지 않는다는 것입니다.

+0

지수를 윗 첨자로 쓰거나 "2.0e5"또는 "2.0 x 10^5"와 같은 텍스트 형식을 사용 하시겠습니까? –

+0

지수 값은 모두 크기가 작아서 특별한 서식이 필요하지 않습니다. 단지 % .2f. – user2853230

답변

0

축에 새 레이블과 눈금 위치를 추가해야합니다.

axis.majorTickLocations = xLocations; 
axis.axisLabels = xLabels;