2010-12-06 7 views
0

Ich bin ein Anfänger in Core-Plot. Ich möchte Core-Plot in meiner App verwenden, um Daten anzuzeigen, die ich aus einer entfernten Datenbank erhalte. Ich kann die Daten, die ich verwenden möchte, in Arrays einfügen, aber ich weiß nicht, wie ich diese Arrays verwenden kann, um meine Grafik zu modifizieren.Einfügen von Daten in Core-Plot

Ich habe auf der Core-Plot-Google-Website (http://code.google.com/p/core-plot/) und auf Stack-Overflow beobachtet, aber ich konnte etwas nicht finden, das mir hilft.

Dies ist, was die Grafik anzeigt, und ich möchte meine Arrays verwenden, um meine Daten in das Diagramm-Plot einzufügen.

EDITED:

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

ich auch versucht:

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]; 

       } 

Wenn jemand eine Idee über hat, wie Arrays zu verwenden, oder eine andere Idee, dieses zu beschäftigen lass es mich wissen.

Antwort

0

So löste ich endlich mein Problem Wenn jemand interessant hier ist, wie ich getan habe:

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); 

und in meiner Funktion:

-(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

Angenommen ArrayTemperature ist ein Array von NSNumbers (oder NSDecimalNumbers), dies funktioniert. Ihr Array kann [NSNull null] enthalten, um auch fehlende Werte darzustellen.

-(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

ich Ihre Lösung versucht, aber es funktioniert nicht und ich weiß nicht warum, ich arbeite seit 3 ​​Tagen daran und finde keine Lösung. Ich teste mein Array und es ist nicht leer, es testet den Typ und es ist NSNumber. Ich weiß nicht, was ich mehr tun soll – ciwol