0

iPhone アプリでコア プロットを使用してメモリ使用量をプロットしようとしています。プロットのラベルに小数点以下 6 桁を表示したいのですが、以下のコード スニペットを使用して 6 を表示するようにコーディングしましたが、4 しか表示されません。

    CPTScatterPlot *plotMem = [[CPTScatterPlot alloc] initWithFrame:self.graph.bounds];
    NSNumberFormatter *plotFormatter = [[NSNumberFormatter alloc] init];
    [plotFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
    [plotFormatter setMaximumFractionDigits:6];
    [plotFormatter setPositiveFormat:@"###0.000000"];
    plotMem.labelFormatter = plotFormatter;

アプリのスクリーンショットは次のとおりです。 ここに画像の説明を入力

numberForPlot メソッドは 0.161793、0.161869、0.162064 などの数値を返しますが、プロット ラベルは 0.1623、0.1624 などとして表示されます。

-(NSNumber *) numberForPlot:(CPTPlot *)plot
                  field:(NSUInteger)fieldEnum
            recordIndex:(NSUInteger)index {
        if ( fieldEnum == CPTScatterPlotFieldY ) {
            NSLog(@"Plot memuse %f for index %d",
          myData.memuse, index);
            return [NSNumber numberWithFloat:myData.memuse]; 
    } else {
        return [NSNumber numberWithInt:index];
    } 
}

プロットのラベルに小数点以下 6 桁を表示するにはどうすればよいですか? コードに何か不足していますか? 助けてください。

4

1 に答える 1

1

setFormatWidth を使用してみてください

CPTScatterPlot *plotMem = [[CPTScatterPlot alloc] initWithFrame:self.graph.bounds];
    NSNumberFormatter *plotFormatter = [[NSNumberFormatter alloc] init];
    [plotFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
   [plotFormatterr setFormatWidth:8];
    [plotFormatter setMaximumFractionDigits:6];
    [plotFormatter setPositiveFormat:@"###0.000000"];
    plotMem.labelFormatter = plotFormatter;
于 2013-05-22T08:26:43.987 に答える