绘制区域填充以防止符号被截断。 (核心情节)

时间:2014-02-25 23:19:53

标签: ios objective-c core-plot

在iOS的Core Plot中,有没有办法在绘图区域添加某种填充,而不是绘图区域框架?使用绘图符号时,如果符号落在框架的轴线或边界上,则可以截断符号。不可否认,我理解为什么在绘制非零大小的圆作为数据符号时就是这种情况,但我很好奇是否有办法添加一些填充来防止这种情况。

或许有一种方法可以处理轴范围,但是如果是这样的话,除了创建“神奇”大到足以考虑这些符号大小的轴范围之外,我还没有想出魔法组合。

在附带的屏幕截图中,x轴代表一周。第一天的任何数据点都将被截断,因为它正在y轴上绘制。理想情况下,我希望这个数据点只是“有点内部”。 (这实际上意味着我希望x轴范围增加到足以考虑到这一点。)

同样适用于y轴。值'0'在x轴上绘制正确。

我真的不希望轴显示比所需更宽的范围(例如,我不希望y轴变为-1。)

谢谢。

enter image description here

1 个答案:

答案 0 :(得分:4)

以下是 Plot Gallery 示例应用程序中“控制图”演示的一些示例代码:

// Adjust visible ranges so plot symbols along the edges are not clipped
CPTMutablePlotRange *xRange = [[plotSpace.xRange mutableCopy] autorelease];
CPTMutablePlotRange *yRange = [[plotSpace.yRange mutableCopy] autorelease];

x.orthogonalCoordinateDecimal = yRange.location;
y.orthogonalCoordinateDecimal = xRange.location;

x.visibleRange = xRange;
y.visibleRange = yRange;

x.gridLinesRange = yRange;
y.gridLinesRange = xRange;

[xRange expandRangeByFactor:CPTDecimalFromDouble(1.05)];
[yRange expandRangeByFactor:CPTDecimalFromDouble(1.05)];
plotSpace.xRange = xRange;
plotSpace.yRange = yRange;

您可以根据图表的大小和图表符号根据需要调整展开因子。