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 ++; 
} 

EDIT: Я, возможно, не было ясно. Проблема, с которой я сталкиваюсь, заключается в том, что с приведенным выше кодом на графике отсутствуют ярлыки.

+0

Вы хотите, чтобы верхний индекс экспоненты или просто использовать текстовый формат типа «2.0e5» или «2.0 x 10^5»? –

+0

Все экспоненциальные значения будут достаточно малы по величине, что мне не понадобится специальное форматирование. всего% .2f. – user2853230

ответ

0

Вы должны добавить новые метки и отметьте места на оси.

axis.majorTickLocations = xLocations; 
axis.axisLabels = xLabels; 
Смежные вопросы