Coreplot绘图空间范围 - iOS

3

我正在尝试创建一个散点图,其范围取决于接收到的值。给定变量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 Skroch
1
嗨Eric,问题出在DecimalFromFloat函数上。我给了一个整数输入到浮点值中,并转换为十进制。相反,我改成了DecimalFromInteger函数。它运行良好。谢谢 - DesperateLearner
1
@DesperateLearner:非常感谢您发布上面的评论:在我的情况下,由于在double上调用CPTDecimalFromFloat而出现了相同的问题。您的评论指出了我应该修复问题的地方。顺便说一句:如果您自己解决了问题,我们鼓励您回答自己的问题-如果您将评论发布为答案,我将非常高兴给您点赞... :) - Mac
1个回答

2

问题出在 DecimalFromFloat 上。我给了一个整数输入到浮点值并转换为十进制。相反,我改成了 DecimalFromInteger。这样就可以正常工作了。谢谢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接