2010-03-02 5 views
5

Je souhaite corriger les axes afin qu'ils soient toujours sur le côté gauche et le bas de mon espace de traçage. Mon implémentation actuelle n'active pas userInteraction, donc pas besoin de se soucier du défilement.OBJ-C: Fixation de l'axe XY du traceur central

// Setup plot space 
CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace; 
plotSpace.allowsUserInteraction = NO; 

// Axes 
CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet; 
CPXYAxis *x = axisSet.xAxis; 
//x.majorIntervalLength = CPDecimalFromString(@"0.5"); 
x.orthogonalCoordinateDecimal = CPDecimalFromString(@"0.5"); 
x.minorTicksPerInterval = 0; 
x.labelingPolicy = CPAxisLabelingPolicyAutomatic; 

CPXYAxis *y = axisSet.yAxis; 
//y.majorIntervalLength = CPDecimalFromString(@"0.5"); 
y.minorTicksPerInterval = 0; 
y.orthogonalCoordinateDecimal = CPDecimalFromString(@"0"); 
y.labelingPolicy = CPAxisLabelingPolicyAutomatic; 

...

//Auto scale the plot space to fit the data 
[plotSpace scaleToFitPlots:[NSArray arrayWithObject:boundLinePlot]]; 
CPPlotRange *xRange = plotSpace.xRange; 
[xRange expandRangeByFactor:CPDecimalFromDouble(1.25)]; 
plotSpace.xRange = xRange; 
CPPlotRange *yRange = plotSpace.yRange; 
[yRange expandRangeByFactor:CPDecimalFromDouble(1.1)]; 
plotSpace.yRange = yRange; 

Edit: Je veux savoir comment fixer mon axe des x et y axe au fond de la parcelle et le côté gauche de l'intrigue respectivement. Je n'ai pas de SS mais je veux essentiellement afficher un graphique avec des axes qui sont fixés dans une position prédéterminée. Alternativement, y a-t-il un moyen de supprimer complètement l'axe des x afin que je puisse juste avoir un axe y? Si c'est le cas, il est beaucoup plus facile de verrouiller l'axe y dans une position fixe.

+0

Quel est le problème que vous rencontrez? Peut-être une capture d'écran ou une description du comportement que vous observez étant donné le code serait utile. –

Répondre

2

J'ai trouvé une correction dans mon édition. Pour supprimer l'axe x il suffit de faire quelque chose comme ce qui suit:

x.axisLineStyle = nil; 

Cela indique-terrain de base de ne pas rendre la ligne pour l'axe des x.

+0

-1 parce que cette réponse ne répond pas à la question initiale (qui est bonne). – PKCLsoft