2012-03-07 3 views
3

범위 값이 수신 된 값에 따라 달라지는 산점도를 제안하려고합니다. 주어진 변수 self.xAxisMinimum은받은 데이터의 첫 번째 값을 취합니다. 그러나 내 프로그램을 실행할 때 self.xAxisMinimum = 4688, plotspace.range가 5000에서 시작될 때 읽는다. 아래 주어진 것은 plotspace 설정이다.코어 플롯 플롯 공간 범위 - 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-set의 매개 변수에 대한 코드입니다. 그래서 이것에 대한

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; 

왜 어떤 생각을 가지고 대신 5000 누군가의 내가 (4688-100)에서 시작하는 x 축를 했어야 설정? 미리 감사드립니다.

+0

포맷터 설정은 무엇입니까? 하나의 유효 숫자로 반올림 한 값입니까? 실제 'xRange'를 검사하여 제대로 설정되어 있는지 확인 했습니까? –

+1

안녕 Eric, 문제는 DecimalFromFloat에 있습니다. 나는 float 값에 정수 입력을하고 10 진수로 변환했다. 대신 DecimalFromInteger로 변경했습니다. 그것은 잘 작동합니다. 감사합니다 – DesperateLearner

+1

@DesperateLearner : 위의 의견을 게시 해 주셔서 고맙습니다 : 제 경우에는 'double'에 'CPTDecimalFromFloat'를 호출하여 동일한 문제가 발생했습니다. 귀하의 의견은 문제를 해결할 곳을 바로 지적했습니다. 추신 : 만약 당신이 스스로 해결한다면 자신의 질문에 답할 것을 권장합니다 - 답으로 의견을 게시하면 나는 upvote를 줄 것입니다. :) – Mac

답변

2

문제는 DecimalFromFloat에 있습니다. 나는 float 값에 정수 입력을하고 10 진수로 변환했다. 대신 DecimalFromInteger로 변경했습니다. 그것은 잘 작동합니다. 고마워요