Core-Plot:在使用自动缩放时保持x轴与其轴标签之间的偏移量(plotSpace:scaleToFitPlots)

问题描述:

在我的散点图中,我使用了Core-Plot的自动缩放功能,该功能看起来很好,根据我的测试图(见下文):Core-Plot:在使用自动缩放时保持x轴与其轴标签之间的偏移量(plotSpace:scaleToFitPlots)

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的图表)。

如何设置x轴与独立于(自动缩放)y值的标签之间的距离

图1:亚马逊 Amazon

图2:Priceline的 Priceline

THANK YOU!

看起来整个x轴正在移动。你可以使用约束来修复它。

x.axisConstraints = [CPTConstraints constraintWithLowerOffset:0.0]; 
+0

谢谢Eric!这已经解决了我的问题。核心图中的约束有没有很好的描述?我发现很难理解它们是如何工作的。 – AlexR 2012-08-09 16:08:00

+0

最详细的解释可能是[本文](https://groups.google.com/d/topic/coreplot-discuss/71NaK4N0rTE/discussion),当我添加它们时我写道了。 – 2012-08-10 23:46:50

+0

Thnakyou非常... – sheetal 2014-12-03 16:11:26