2014-09-29 1 views
0

코어 플롯에서 작업하고 있습니다. y 축 사이의 간격을 설정했지만 오버랩처럼 보입니다. 아래 스크린 샷을 확인하십시오. 여기에 Y 축 설정 내 코드 플롯에코어 플롯에서 Y 축 사이의 간격을 설정하는 방법

CGFloat yMax=55; 
    CGFloat yMin=50; 
    CGFloat yInterval=0; 
    yInterval=(yMax-yMin)/4; 

    CPTXYAxis *y = axisSet.yAxis; 
    y.axisLineStyle = axisLineStyle; 
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
    [formatter setMaximumFractionDigits:0]; 
    y.labelFormatter = formatter; 
    y.labelOffset = 2.0f; 
    y.labelAlignment = CPTAlignmentLeft; 
    y.labelTextStyle = axisTitleStyle; 
    y.tickDirection = CPTSignNegative; 
    y.majorTickLength = 3.0f; 
    y.majorIntervalLength = CPTDecimalFromDouble(yInterval); 
    y.majorGridLineStyle = gridLineStyle; 
    y.gridLinesRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInt(0) length:CPTDecimalFromInt(yMax)]; 
    y.minorTicksPerInterval = 1; 
    y.minorTickLength = 2.0f; 
    y.orthogonalCoordinateDecimal = CPTDecimalFromDouble(0.0); 
    axisSet.xAxis.orthogonalCoordinateDecimal = CPTDecimalFromDouble(yMin-yInterval); 

    CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace; 
    plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0.0) length:CPTDecimalFromFloat(dateCount)]; 
    plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yMin-yInterval) length:CPTDecimalFromFloat(yMax+yMin)]; 

Y 축 사이의 공간을 제공하는 방법을 나에게 안내하시기 바랍니다 게시 된 스크린 샷이 정확 enter image description here

답변

1

지적한다. y- 축 (yInterval)의 눈금 사이의 간격은 (55 - 50)/4 = 1.25입니다. yRange의 위치는 50 - 1.25 = 48.75이고 길이는 50 + 55 = 105입니다. 즉, 105 단위 또는 84 틱 및 레이블 공간에 1.25 단위 간격으로 틱 마크가 있음을 의미합니다.

+0

길이를 늘리면 모든 y 축 사이의 간격을 볼 수 있습니까? –

+0

예. 아마도 당신은'yInterval = (yMax + yMin)/4;를 의미했을까요? '? 이는 플롯 범위의 길이를 네 부분으로 나눕니다. 간격이 플롯 영역의 가장자리에 떨어지면 5 개의 눈금이 생깁니다. –

+0

예 Eric하지만 내 경우에는 최소 값이 50이고 최대 값이 55이므로 두 값 사이에 표시 점을 표시하려고합니다. 예를 들어 y 간격을 20으로 시작한 다음 모양이 괜찮 으면 같은 선의 모든 점을 보게됩니다. (yInterval = (yMax + yMin)/4;)와 같은 계산을 시도하고 있지만 중복되는 것처럼 보입니다. –