CorePlot:使用不同绘图空间的2个Y轴 - 格式化问题

时间:2014-03-11 16:56:48

标签: ios core-plot

我有两个不同比例的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轴相交。

1 个答案:

答案 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)];