Ios CorePlot可见范围未按预期工作
因此,我一直在修改示例代码,试图让一个图形显示0-20的y值,并且一次仅在屏幕上显示最大6个x值。x的可见范围为0-6 这是我拍摄的照片 这就是它看起来的样子 这是我认为最重要的代码部分。在这里,我将向您展示如何创建可见轴范围、打印空间范围和打印空间全局范围: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
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,并且成功了。非常感谢。现在让这个东西滚动。