我有一个带有两个线图的核心图(图 1 使用y
LHS 上的 - 轴,图 2 使用y2
RHS 上的 - 轴)和两个绘图空间(lhsPlotSpace
和rhsPlotSpace
)。
对于初始绘图设置,我使用scaleToFitPlots
自动缩放两个绘图,它按预期工作:
[lhsPlotSpace scaleToFitPlots:lhsPlots];
[rhsPlotSpace scaleToFitPlots:rhsPlots];
情节看起来类似于下面的屏幕截图。
为了显示更多细节,我希望允许用户水平平移和水平缩放,只要在左右两侧显示更多数据(平移和缩放应该仅由用户驱动x
)。
-axisy
和y2
-axis 应根据平移和缩放后可见的范围自动缩放。
你能帮我解决这个问题吗?我尝试使用委托
根据我在 Core Plot 论坛和 StackOverFlow 上找到的代码示例,我尝试使用委托方法执行此操作plotSpace:willChangePlotRangeTo:forCoordinate
- (CPTPlotRange *)plotSpace:(CPTPlotSpace *)space
willChangePlotRangeTo:(CPTPlotRange *)newRange
forCoordinate:(CPTCoordinate)coordinate
{
if (coordinate == CPTCoordinateY) {
newRange = ((CPTXYPlotSpace*)space).yRange;
return newRange
}
但除了获得非常基本的缩放之外,我还没有找到与我的问题更接近的解决方案。
能否请您指出要使用哪些代表方法、如何限制滚动以及如何以及在何处设置新的y
-scale 因子在平移和缩放之后?
非常感谢!