2010-12-05 23 views
1

Je suis en train d'obtenir mon axe X et Y des titres à montrer, mais il semble qu'ils ne travaillent pas toujours:Terrain de base: les titres de l'Axe montrent au hasard, pas toujours travailler

CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet; 
    CPXYAxis *x = axisSet.xAxis; 
    x.orthogonalCoordinateDecimal = CPDecimalFromFloat(min); 
    x.title = [NSString stringWithFormat:@"Distance %@", distLabel]; 
    x.titleLocation = CPDecimalFromFloat(7.5f); 
    x.titleOffset = 55.0f; 

    CPXYAxis *y = axisSet.yAxis; 
    y.orthogonalCoordinateDecimal = CPDecimalFromFloat(minDist); 
    y.title = @"Altitude"; 
    y.titleOffset = 95.0f; 
    y.titleLocation = CPDecimalFromFloat(150.0f); 

Parfois, le titre X montrera , mais le titre de l'axe Y ne s'affiche JAMAIS. Pourquoi ne montrent-ils pas? Est-ce le rembourrage?

plotAreaFrame.paddingLeft = 50; 
    plotAreaFrame.paddingTop = 10; 
    plotAreaFrame.paddingRight = 20; 
    plotAreaFrame.paddingBottom = 50; 

Répondre

1

Vous devez augmenter votre rembourrage inférieur et gauche. Vos décalages de titres sont supérieurs à ceux des deux axes, donc les titres sont cachés.

+0

Ok, je peux les voir maintenant. Mais leur position varie encore en fonction des données que je charge dans mon graphique. Pourquoi se déplaceraient-ils sur différents graphiques? –

+1

La propriété titleLocation est donnée en coordonnées de données de sorte que le titre se déplace par rapport au graphique si vous modifiez la plage d'espace de tracé correspondante. Si vous ne définissez pas le paramètre titleLocation (c'est-à-dire, laissez-le à la valeur par défaut de NAN), il centrera le titre dans la plage d'espace de tracé. –