我有两个不同比例的y轴。所以我添加了另一个情节空间。我使用相同的xRange作为第二个绘图空间,但使用不同的yRange,例如,
CPTXYPlotSpace *plotSpace2 = [[CPTXYPlotSpace alloc] init];
plotSpace2.xRange = plotSpace.xRange;
plotSpace2.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(ymin)
length:CPTDecimalFromFloat(ymax2 - ymin)];
[graph addPlotSpace:plotSpace2];
y2.plotSpace = plotSpace2;
配置后,我还将y2轴添加到axisSet。
graph.axisSet.axes = [NSArray arrayWithObjects:x, y, y2, nil];
为了使x轴与左y轴相交,我使用了以下内容。
axisSet.xAxis.orthogonalCoordinateDecimal = CPTDecimalFromString(@"-4");
axisSet.yAxis.orthogonalCoordinateDecimal = CPTDecimalFromString(@"-0.5");
我如何对y2轴做同样的事情?我希望x轴在点-1
处与y2轴相交。
答案 0 :(得分:1)
X轴的正交坐标必须相对于一个Y轴或另一个,而不是两者。如果您有两个具有不同yRanges的绘图空间,我认为您可以通过设置X轴相对于左Y轴的正交坐标来实现您想要的效果,然后调整plotSpace2的yRange,使X轴与所需的Y轴相交坐标。
axisSet.yAxis.orthogonalCoordinateDecimal = CPTDecimalFromString(@"-0.5");
// Adjust yRange as needed to get the axis to intersect where you want it to
plotSpace2.yRange = [CPTPlotRange plotRangeWithLocation:(CPTDecimalFromFloat(-1.0) length:CPTDecimalFromFloat(ymax2 - ymin2)];