yAxisのmajorTickLocationsプロパティを事前定義された範囲の値で設定しています。また、yAxisのalternatingBandFillsプロパティを設定して、これらの範囲を色分けします。私のようにルックスを使用していたコードは次のとおりです。コアプロット:axesTrackLocationsが正しく表示されていない状態で交互に表示される軸
私は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)では、グラフのalternateBandFillが - > orange-green-orangeのように表示されます。
これがなぜこのような理由で私に説明できますか?混乱は、与えられたデータセットに対しては問題はなく、他のものについては(比率は同じですが)存在するという事実から来ています。私はCore-PlotがalternatinBandFills配列を循環して色を表示することを知っていますが、何らかの理由で時々配列の先頭ではなくインデックス= 1でサイクルを開始します。動作が正しいことを
おかげで、
ペタル