Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios CorePlot可见范围未按预期工作_Ios_Core Plot_Visible - Fatal编程技术网

Ios CorePlot可见范围未按预期工作

Ios CorePlot可见范围未按预期工作,ios,core-plot,visible,Ios,Core Plot,Visible,因此,我一直在修改示例代码,试图让一个图形显示0-20的y值,并且一次仅在屏幕上显示最大6个x值。x的可见范围为0-6 这是我拍摄的照片 这就是它看起来的样子 这是我认为最重要的代码部分。在这里,我将向您展示如何创建可见轴范围、打印空间范围和打印空间全局范围: CPTMutablePlotRange *xRange = [plotSpace.xRange mutableCopy]; CPTMutablePlotRange *yRange = [plotSpace.yRange mutable

因此,我一直在修改示例代码,试图让一个图形显示0-20的y值,并且一次仅在屏幕上显示最大6个x值。x的可见范围为0-6

这是我拍摄的照片

这就是它看起来的样子

这是我认为最重要的代码部分。在这里,我将向您展示如何创建可见轴范围、打印空间范围和打印空间全局范围:

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

// I'm not sure what the difference is between the two
// constrict this to 0-20 for y and 0-6 for x
x.visibleRange = nil;
y.visibleRange = nil;
x.visibleAxisRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0.0f) length:CPTDecimalFromFloat(6.f)];
y.visibleAxisRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0.0f) length:CPTDecimalFromFloat(20.f)];

// expand the X, y axis to be more than we need
[xRange expandRangeByFactor:CPTDecimalFromDouble(1.05)];
[yRange expandRangeByFactor:CPTDecimalFromDouble(1.05)];
plotSpace.xRange = xRange;
plotSpace.yRange = yRange;

// expand it to be even bigger
[xRange expandRangeByFactor:CPTDecimalFromDouble(3.0)];
[yRange expandRangeByFactor:CPTDecimalFromDouble(3.0)];
plotSpace.globalXRange = xRange;
plotSpace.globalYRange = yRange;
因此,在应用程序上显示的图片中,似乎显示了我所有的值,而不仅仅是6,但它似乎知道我只想显示6,因为标签在6处停止。我想让应用程序左右滚动,以显示其他点后,我得到它显示线的适当长度,但一次一件事

这是密码。这太草率了,我只是在清理它并把它带到我真正的项目之前,随便看看有什么可能。所有的工作都是在controlChart.m文件中完成的,我在一些纯白色的主题文件中做了手脚,但那应该不重要


由于x个数据点相隔一个单位,因此将
xRange
的长度设为6(加上一位绘图符号)将满足您的要求。在您发布的代码中,在扩展范围之前,使用
-scaleToFitPlots:
设置
xRange
。这使它适合所有的绘图数据。

你说得对。我认为xRange是绘图空间中所有点的范围,而不是可见范围。我手动将范围更改为loc=0,len=6.1,并且成功了。非常感谢。现在让这个东西滚动。