此处演示问题的项目:http://github.com/danieljfarrell/CorePlotBoxAxis
<小时/>我想制作如下图,其中我们有一个“盒”轴,即该轴始终位于绘图区域的外边缘。
这里的x和y轴是底部和左侧边缘; x2 和 y2 分别是上边缘和右边缘。
过去我通过设置轴的orthogonalCooperativeDecimal
来完成。但是,这需要在绘图范围发生变化时手动更新坐标。
是否可以实现带有约束系统的盒子轴?我已尝试以下操作,并且它正确地固定了x,y。但是,x2 不可见(大概它被固定在范围之外的某个位置),y2 的偏移量为 1 像素(见下文)。
我尝试了 y2 约束的一些变体,但似乎没有任何帮助。
CPTXYAxis *x = [self _makeDefaultAxis];
x.coordinate = CPTCoordinateX;
x.axisConstraints = [CPTConstraints constraintWithLowerOffset:0.0];
x.tickDirection = CPTSignPositive;
// ...
CPTXYAxis *y = [self _makeDefaultAxis];
y.coordinate = CPTCoordinateY;
y.axisConstraints = [CPTConstraints constraintWithLowerOffset:0.0];
y.tickDirection = CPTSignPositive;
// ...
CPTXYAxis *y2 = [self _makeDefaultAxis];
y2.coordinate = CPTCoordinateY;
y2.axisConstraints = [CPTConstraints constraintWithUpperOffset:0.0];
y2.tickDirection = CPTSignNegative;
// ...
// Problem here ...
CPTXYAxis *x2 = [self _makeDefaultAxis];
x2.coordinate = CPTCoordinateX;
y2.axisConstraints = [CPTConstraints constraintWithUpperOffset:0.0];
x2.tickDirection = CPTSignNegative;
此代码生成以下图。关于如何以这种方式镜像轴有什么想法吗?
最佳答案
x2
设置部分存在拼写错误。改变
y2.axisConstraints = …
到
x2.axisConstraints = …
关于macos - 将 x、y、x2、y2 轴限制在 core-plot 中绘图区域的两侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21882678/