2010-08-27 6 views
0

J'ai quelques données, disons le nombre de ventes du mois. Je veux créer un graphique discret montrant la quantité d'articles vendus chaque jour. La seule façon dont je suis capable de le faire est de créer des CGRects, puis de charger les sous-vues avec ces retours comme image, et de colorier leurs arrière-plans. Ainsi, les colonnes du graphique sont faites par une petite vue colorée.La meilleure façon de créer un graphique à partir des données

Pensez-vous que cela pourrait être la bonne façon? Ou pensez-vous qu'il existe de meilleures approches?

Répondre

1

Ok, je pense que le meilleur moyen est d'utiliser le CoreGraphics!

Voici le code que j'ai écrit, peut peut-être utile à quelqu'un ...

- (void)drawRect:(CGRect)rect { 

// Get the graphics context 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 

int max = arc4random()%5+5; 
int unit = floor(155/max); 
int h; 

for (int i=0; i<24; i++) { 

    int numero = arc4random()%max; 
    if (numero != 0) { 
     h = (max-numero)*unit; 

     // Draw the bars 
     CGContextSetRGBFillColor(ctx, 130, 0, 180, 1); 
     CGContextFillRect(ctx, CGRectMake(4+i*25.6, 9+h, 19, 155-h)); 
     CGContextFillEllipseInRect(ctx, CGRectMake(4+i*25.6, 2+h, 19, 14)); 

     // Draw the number 
     NSString *newString = [[NSString alloc]initWithFormat:@"%d",numero]; 
     CGContextSetRGBFillColor(ctx, 255, 255, 255, 0.7); 
     CGPoint newPoint = {8+i*25.6, 2+h}; 
     UIFont *font = [UIFont systemFontOfSize:20]; 
     [newString drawAtPoint:newPoint withFont:font]; 

    } 

} 

}

Questions connexes