2012-03-07 6 views
1

미리 정의 된 범위 값을 사용하여 yAxis의 majorTickLocations 속성을 설정합니다. 또한 yAxis의 alternatingBandFills 속성을 설정하여 색상 범위를 지정합니다. 내가 같은 외모를 사용하고 코드는 다음과 같습니다코어 플롯 : 축 교차 표시 및 majorTickLocations가 적절한 표시가없는 채우기

내가 lowerRedRangeFrom = lowerOrangeRangeFrom을 사용하고있는 데이터의 범위 중 일부 :

 NSSet *majorTickLocations = [NSSet setWithObjects: 
           [NSDecimalNumber numberWithDouble:lowerRedRangeFrom], 
           [NSDecimalNumber numberWithDouble:lowerOrangeRangeFrom], 
           [NSDecimalNumber numberWithDouble:greenRangeFrom], 
           [NSDecimalNumber numberWithDouble:upperOrangeRangeFrom], 
           [NSDecimalNumber numberWithDouble:upperRedRangeFrom], 
           [NSDecimalNumber numberWithDouble:upperRedRangeTo], 
           nil]; 
    yAxis.majorTickLocations = majorTickLocations; 

    yAxis.alternatingBandFills = [NSArray arrayWithObjects: 
             [CPTColor redColor], 
             [CPTColor orangeColor], 
             [CPTColor greenColor], 
             [CPTColor orangeColor], 
             [CPTColor redColor], nil]; 

모든 것이 하나의 특정 문제 외에 괜찮습니다. 이 경우 색상 코드화 된 범위 중 3 개만 표시됩니다. 이는 정상이며 예상되는 동작입니다. alternatingBandFills 배열은 빨간색, 주황색, 녹색, 주황색, 빨간색 순으로이 순서로 정의되어 있으므로 표시된 색상은 빨간색 주황색입니다. 그것은 완전히 훌륭하고 예상됩니다.

그러나 다른 데이터 세트와 동일한 로직을 가진 일부 데이터 세트 (예 : lowerRedRangeFrom = lowerOrangeRangeFrom)에서 그래프의 alternatingBandFill은 -> 주황색 - 녹색 - 주황색과 같이 표시됩니다.

누군가가 왜 그런지 설명 할 수 있습니까? 혼란은 주어진 데이터 세트에 대해 문제가 없으며 다른 사람들에게는 (비율은 동일하지만) 사실이라는 사실에서 비롯됩니다. Core-Plot이 alternatinBandFills 배열을 순환하고 색상을 표시한다는 것을 알고 있지만 때로는 배열의 시작 부분 대신에 인덱스 = 1에서 순환하기 시작하는 경우가 있습니다.

감사합니다,

페 타르

답변

0

는 그 동작은 올바른 것입니다. lowerRedRangeFrom == lowerOrangeRangeFrom 인 경우 첫 번째 빨간색 범위는 그대로 있지만 높이가 0입니다.

관련 문제