2010-12-06 21 views
0

Je suis un débutant en core-plot. Je veux utiliser core-plot dans mon application, pour afficher les données que je reçois d'une base de données distante. Je peux mettre les données que je veux utiliser dans Arrays, mais je ne sais pas comment utiliser ce tableau pour modifier mon graphique. J'ai regardé sur le site google de core-plot (http://code.google.com/p/core-plot/) et sur le débordement de pile mais je n'ai pas pu trouver quelque chose qui m'aide.Insérer des données dans le core-plot

C'est ce que le graphique affiche, et je veux utiliser mes tableaux pour insérer mes données dans le graphe.

ÉDITÉ:

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{ 

NSDecimalNumber *num = nil; 
if ([plot isKindOfClass:[CPBarPlot class]]) { 
    switch (fieldEnum) { 
    case CPBarPlotFieldBarLocation: 
    num = (NSDecimalNumber *)[NSDecimalNumber numberWithUnsignedInteger:index]; 
    break; 
    case CPBarPlotFieldBarLength: 
      //num = (NSDecimalNumber *)[NSDecimalNumber numberWithUnsignedInteger:(index+10)+15]; 
//num = [NSNumber numberWithInt:values]; 
//num = (NSDecimalNumber *)[arrayTemperature objectAtIndex:index]; 
num =[ NSDecimalNumber numberWithInt:arrayTemperature ]; 

    if ([plot.identifier isEqual:@"Bar Plot 2"]) 
    num = [num decimalNumberBySubtracting:[NSDecimalNumber decimalNumberWithString:@"10"]]; 
    break; 
    } 
} 

return num; 
} 

J'ai aussi essayé:

case CPBarPlotFieldBarLength:    
       //num = (NSDecimalNumber *)[NSDecimalNumber numberWithUnsignedInteger:(index+20)]; 
       //num = [NSNumber numberWithInt:values]; 
       //num = (NSDecimalNumber *)[arrayTemperature objectAtIndex:index] 
       num=nil; 
       int i=0; 
       for (i=0; i=9;i++){ 

        num = [arrayTemperature objectAtIndex:i]; 

       } 

Si quelqu'un a une idée sur la façon d'utiliser des tableaux, ou une autre idée de traiter ce s'il vous plaît laissez-moi savoir.

Répondre

0

Alors je me suis finalement résolu mon problème Si quelqu'un est intéressant est de savoir comment je ici fait:

NSURL *getTemperature = [NSURL URLWithString:@"http://.....php"]; 
    arrayTemperature = [[NSArray alloc] initWithContentsOfURL:getTemperature ]; 
    NSLog(@"Températures Array :%@",arrayTemperature); 

    NSURL *getTemps = [NSURL URLWithString:@"http://....php"]; 
    arrayTemps = [[NSArray alloc] initWithContentsOfURL:getTemps ]; 
    NSLog(@"Temps Array : %@",arrayTemps); 

et dans ma fonction:

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{ 
    NSNumber *num = nil; 
    if ([plot isKindOfClass:[CPBarPlot class]]) { 
     switch (fieldEnum) { 
      case CPBarPlotFieldBarLocation: 
       //num = [NSNumber numberWithUnsignedInteger:index]; 
       num = (NSNumber *)[NSNumber numberWithUnsignedInteger:[[arrayTemps objectAtIndex:index] unsignedIntegerValue]]; 
       break; 
      case CPBarPlotFieldBarLength: 
       num = (NSNumber *)[NSNumber numberWithUnsignedInteger:[[arrayTemperature objectAtIndex:index] unsignedIntegerValue]]; 
      break; 
     } 
    } 


    return num; 
} 
1

En supposant que arrayTemperature est un tableau de NSNumbers (ou NSDecimalNumbers), cela fonctionnera. Votre tableau peut contenir [NSNull null] pour représenter les valeurs manquantes.

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{ 
    NSDecimalNumber *num = nil; 
    if ([plot isKindOfClass:[CPBarPlot class]]) { 
     switch (fieldEnum) { 
     case CPBarPlotFieldBarLocation: 
      num = (NSDecimalNumber *)[NSDecimalNumber numberWithUnsignedInteger:index]; 
      break; 
     case CPBarPlotFieldBarLength: 
      num = [arrayTemperature objectAtIndex:index]; 
      break; 
     } 
    } 

    return num; 
} 
+0

J'ai essayé votre solution, mais il ne fonctionne pas et je ne sais pas pourquoi, je travaille sur ça depuis 3 jours et je ne trouve pas de solution. Je teste mon tableau et il n'est pas vide, il teste le type et c'est NSNumber. Je ne sais pas quoi faire de plus – ciwol