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:亚马逊
图2:Priceline的
THANK YOU!
答
看起来整个x轴正在移动。你可以使用约束来修复它。
x.axisConstraints = [CPTConstraints constraintWithLowerOffset:0.0];
谢谢Eric!这已经解决了我的问题。核心图中的约束有没有很好的描述?我发现很难理解它们是如何工作的。 – AlexR 2012-08-09 16:08:00
最详细的解释可能是[本文](https://groups.google.com/d/topic/coreplot-discuss/71NaK4N0rTE/discussion),当我添加它们时我写道了。 – 2012-08-10 23:46:50
Thnakyou非常... – sheetal 2014-12-03 16:11:26