0

私のグラフでは、majorGridLinesは整数に対しては正常に機能しますが、範囲が3.0〜0.0の場合、majorTickLocationsは10程度です。ティックの位置は適切な場所にあり、IEは約0.3ごとですが、majorGridLinesはティックと同じ位置になく、整数1.0、2.0、3.0などに到達しています。majorGridLinesを取得するにはどうすればよいですか。整数以外の数値を処理し、tickLocationsと同じレベルになりますか?

コードは以下のとおりです。

NSMutableSet *yLabels = [NSMutableSet set];
NSMutableSet *yMajorLocations = [NSMutableSet set];

for (int i=-1; i<numYAxisLabels; i++) {

        id jAsID = [NSNumber numberWithInt:(int)j];
        int jAsInt = [jAsID integerValue];

        CPTAxisLabel *label;
        if(majorIncrement < 1)
            label = [[CPTAxisLabel alloc] initWithText:[NSString stringWithFormat:@"%.1f", j] textStyle:y.labelTextStyle];
        else
            label = [[CPTAxisLabel alloc] initWithText:[NSString stringWithFormat:@"%d", jAsInt] textStyle:y.labelTextStyle];

        NSDecimal location = CPTDecimalFromFloat(j);
        label.tickLocation = location;
        label.offset = -y.majorTickLength - y.labelOffset;

        [yLabels addObject:label];
        [yMajorLocations addObject:jAsID];

        currTopYLabelLocation = j;
        j += majorIncrement;
    }
    y.axisLabels = yLabels;
    y.majorTickLocations = yMajorLocations;
4

1 に答える 1

1

目盛りの位置は、一連のjAsID値から作成されます。質問で与えられたコードでjは、オブジェクトを作成する前に整数値にキャストされNSNumberます。

于 2013-02-25T01:41:46.063 に答える