2012-03-07 58 views
3

我想要拿出一個散點圖,其範圍取決於收到的價值。給定的變量self.xAxisMinimum取得接收到的數據的第一個值。但是,當我運行我的程序時,它會讀取這樣的數據,當self.xAxisMinimum = 4688時,plotpace.range從5000開始。 下面給出的是plot space設置。Coreplot劇情空間範圍 - iOS

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)self.graph.defaultPlotSpace; 
plotSpace.xRange = [CPTPlotRange  

plotRangeWithLocation:CPTDecimalFromFloat(self.xAxisMinimum - 100) length:CPTDecimalFromFloat(60*60)]; 

plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yAxisMin) length:CPTDecimalFromFloat(yAxisMax - yAxisMin)]; 

它與主要間隔長度有關嗎?我的主要區間長度爲180秒。 下面給出的是Xaxis集參數的代碼。

axisSet.xAxis.title = @"Time(per sec)"; 
axisSet.xAxis.titleTextStyle = textStyle; 
axisSet.xAxis.axisLineStyle = lineStyle; 
axisSet.xAxis.titleOffset = 30.0f; 
axisSet.xAxis.majorTickLineStyle = lineStyle; 
axisSet.xAxis.minorTickLineStyle = lineStyle; 
axisSet.xAxis.majorGridLineStyle = lineStyle; 
axisSet.xAxis.minorGridLineStyle=gridStyle; 
axisSet.xAxis.labelOffset = 6.0f; 
axisSet.xAxis.majorIntervalLength = CPTDecimalFromFloat(180.0f); 
axisSet.xAxis.minorTicksPerInterval = 5; 
axisSet.xAxis.minorTickLength = 0.50f; 
axisSet.xAxis.majorTickLength = 0.50f; 
axisSet.xAxis.labelTextStyle = textStyle; 
axisSet.xAxis.labelFormatter = formatter; 

因此,對於這個成立了,我應該有距離(4688-100)開始x軸,而不是5000。任何人有任何想法,爲什麼?多謝提前

+0

什麼是您的格式化程序設置?它是否將一個有效數字的價值四捨五入?你是否檢查過實際的'xRange'來查看它是否被正確設置? – 2012-03-15 01:33:10

+1

埃裏克你好,問題在於DecimalFromFloat。我給了float值的整數輸入並轉換成了十進制。相反,我改爲DecimalFromInteger。它工作正常。謝謝 – DesperateLearner 2012-03-16 14:21:21

+1

@DesperateLearner:非常感謝您張貼您的上述評論:在我的情況下,由於在'double'上調用'CPTDecimalFromFloat',我遇到了同樣的問題。您的評論指出我在哪裏解決問題。 PS:如果你自己解決問題,鼓勵你回答你自己的問題 - 如果你發表你的評論作爲答案,我會很樂意給你一個贊成... :) – Mac 2012-05-25 01:11:00

回答

2

問題在於DecimalFromFloat。我給了float值的整數輸入並轉換成了十進制。相反,我改爲DecimalFromInteger。它工作正常。謝謝