2013-01-19 57 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

相關問題