我正在尝试创建一个散点图,其范围取决于接收到的值。给定变量self.xAxisMinimum获取接收到的数据的第一个值。然而,当我运行程序时,它读取如下:当self.xAxisMinimum = 4688时,plotspace.range从5000开始。如下所示为plotspace设置。
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)self.graph.defaultPlotSpace;
plotSpace.xRange = [CPTPlotRange
plotRangeWithLocation:CPTDecimalFromFloat(self.xAxisMinimum - 100) length:CPTDecimalFromFloat(60*60)];
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yAxisMin) length:CPTDecimalFromFloat(yAxisMax - yAxisMin)];
这与主要间隔长度有关吗?我的主要间隔长度为180秒。以下是X轴设置参数的代码。
axisSet.xAxis.title = @"Time(per sec)";
axisSet.xAxis.titleTextStyle = textStyle;
axisSet.xAxis.axisLineStyle = lineStyle;
axisSet.xAxis.titleOffset = 30.0f;
axisSet.xAxis.majorTickLineStyle = lineStyle;
axisSet.xAxis.minorTickLineStyle = lineStyle;
axisSet.xAxis.majorGridLineStyle = lineStyle;
axisSet.xAxis.minorGridLineStyle=gridStyle;
axisSet.xAxis.labelOffset = 6.0f;
axisSet.xAxis.majorIntervalLength = CPTDecimalFromFloat(180.0f);
axisSet.xAxis.minorTicksPerInterval = 5;
axisSet.xAxis.minorTickLength = 0.50f;
axisSet.xAxis.majorTickLength = 0.50f;
axisSet.xAxis.labelTextStyle = textStyle;
axisSet.xAxis.labelFormatter = formatter;
所以对于这个设置,我应该从(4688-100)开始而不是5000。有人知道为什么吗?非常感谢。
xRange
是否被正确设置了? - Eric Skrochdouble
上调用CPTDecimalFromFloat
而出现了相同的问题。您的评论指出了我应该修复问题的地方。顺便说一句:如果您自己解决了问题,我们鼓励您回答自己的问题-如果您将评论发布为答案,我将非常高兴给您点赞... :) - Mac