2013-01-19 94 views
0

我正在缩放时尝试更改为核心图的mainIntervalScale,以便放大时轴上显示的项更少,放大时显示更多项。我无法使其工作任何人都可以帮忙吗?这是迄今为止我得到的代码。谢谢当放大核心图时更改majorIntervalScale

-(BOOL)plotSpace:(CPTPlotSpace *)space shouldScaleBy:(CGFloat)interactionScale aboutPoint:(CGPoint)interactionPoint 
{ 
    return YES; 
} 

-(CPTPlotRange *)plotSpace:(CPTPlotSpace *)space willChangePlotRangeTo:(CPTPlotRange *)newRange forCoordinate:(CPTCoordinate)coordinate 
{ 
    self.graphScaleX = self.graphScaleX*newRange.lengthDouble; 
    self.graphScaleY = self.graphScaleY*newRange.lengthDouble; 

    CPTXYAxisSet *axisSet = (CPTXYAxisSet *)self.graph.axisSet; 
    CPTXYAxis *x   = axisSet.xAxis; 

    CPTXYAxis *y   = axisSet.yAxis; 

    x.majorIntervalLength=CPTDecimalFromFloat(self.graphScaleX); 
    y.majorIntervalLength=CPTDecimalFromFloat(self.graphScaleY); 

    return newRange; 
} 

回答

1

它看起来像你总是希望有相同数量的刻度标记,无论绘图范围的长度。如果是这样,请使用不同的轴标签策略而不是委托。政策将在“好”数字上找到刻度线,但不一定是绘图范围的结尾。 CPTAxisLabelingPolicyEqualDivisions将从等比例范围的一端开始等分间隔的刻度并继续到另一端。这两种标签政策都使用preferredNumberOfMajorTicks来控制绘制多少刻度线。

+0

正是我所期待的!谢谢! – ChrisBorg

相关问题