0

散布図では、Core-Plotの自動スケール機能を使用しています。これは、テストプロット(以下を参照)によると、正常に機能しているようです。

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
[plotSpace scaleToFitPlots:[NSArray arrayWithObject:sharePricePlot]];
[valuationPlotSpace scaleToFitPlots:[NSArray arrayWithObject:valuationPlot]];

CPTMutablePlotRange *xRange = [plotSpace.xRange mutableCopy];
CPTMutablePlotRange *yRange = [plotSpace.yRange mutableCopy];

[xRange expandRangeByFactor:CPTDecimalFromDouble(1.0)];
[yRange expandRangeByFactor:CPTDecimalFromDouble(1.0)];
plotSpace.xRange = xRange;
plotSpace.yRange = yRange;

標準の列挙で設定したx軸にカスタムラベルを使用します。この列挙では、デモアプリに基づいて各軸ラベルを次のように設定します。

CPTAxisLabel *newLabel = [[CPTAxisLabel alloc] initWithText:[NSString stringWithFormat:@"%u", year]
textStyle:xAxis.labelTextStyle];
newLabel.tickLocation = CPTDecimalFromUnsignedInteger(idx);
newLabel.offset = 0;
[xAxisLabels addObject:newLabel];

ただし、オフセットを0に設定すると、ラベルがx軸に非常に近く配置されます(私のビューでは)が、軸とラベルの間のオフセットは、y値の範囲によって異なります(参照してください)。以下のAmazonとPricelineのチャートに)。

(自動スケーリングされた)y値に関係なく、x軸とラベルの間の距離を設定するにはどうすればよいですか?

チャート1:アマゾン アマゾン

チャート2:価格ライン プライスライン

ありがとう!

4

1 に答える 1

5

X軸全体が動いているように見えます。制約を使用して、その場で修正できます。

x.axisConstraints = [CPTConstraints constraintWithLowerOffset:0.0];
于 2012-08-08T23:31:00.870 に答える