0

104号に似たバグを見つけたと思います

棒グラフがあります。軸は制約付きで固定されており、プロット領域に残されたパディングとX軸のカスタムラベルを使用しています。

最後のバーを表示するのはインポートなので、xRangeは以下のコードで終わりから始まります

plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat([[posicoes lastObject] floatValue]) length:CPTDecimalFromFloat(tipoEscalaGrafico*60*13)];

ラベル以外はすべて完璧に機能します。

以下の印刷物であなたは問題を見ることができます

http://3.bp.blogspot.com/-BLWrnrZ1MZY/T8aMqEc3PzI/AAAAAAAAAG8/sXhIgvuuj_0/s1600/Captura+de+Tela+2012-05-30+às+18.05.01.png _

ラベルはパディングを尊重しません。

グラフをスクロールすると、次の画面のようにパディングが尊重されます

http://1.bp.blogspot.com/-uvFem8xERAo/T8aMmaLRl2I/AAAAAAAAAG0/DZx_UwCcmbA/s1600/Captura+de+Tela+2012-05-30+às+18.05.01+(2).png _

4

2 に答える 2

0

CPTXYGraphから継承するクラスがあり、カスタムlabl=elsを追加するために以下のメソッドを実行しました

-(void)setarLabelsEixoX:(NSArray *)labels naPosicao:(NSArray *)posicaoLabels;{
CPTXYAxisSet *axisSet = (CPTXYAxisSet *)self.axisSet;
CPTXYAxis *x          = axisSet.xAxis;

x.labelingPolicy = CPTAxisLabelingPolicyNone;
NSUInteger labelLocation     = 0;
NSMutableArray *customLabels = [NSMutableArray arrayWithCapacity:[labels count]];
for ( NSNumber *tickLocation in posicaoLabels ) {
    CPTAxisLabel *newLabel = [[CPTAxisLabel alloc] initWithText:[labels objectAtIndex:labelLocation++] textStyle:x.labelTextStyle];
    newLabel.tickLocation = [tickLocation decimalValue];
    newLabel.offset       = x.labelOffset; 
    newLabel.alignment = CPTAlignmentCenter;
    [customLabels addObject:newLabel];        
}

axisSet.xAxis.majorTickLocations = (NSSet*)posicaoLabels;
x.axisLabels = [NSSet setWithArray:customLabels];

}

于 2012-06-01T17:53:48.117 に答える
0

最新の Core Plot コードで少しテストを行いました。問題はありません。誤ったラベルの目盛りの位置が実際にプロット範囲外にあることを確認しましたか? Core Plot のどのバージョンを使用していますか?

于 2012-06-03T14:31:35.607 に答える