我有一个带有两个线图的Core Plot图表(图1使用LHS上的y
- 轴,图2使用RHS上的y2
- 轴)和两个绘图空间({ {1}}和lhsPlotSpace
)。
对于初始绘图设置,我使用rhsPlotSpace
自动缩放两个绘图,它们按预期工作:
scaleToFitPlots
该情节看起来与下面的屏幕截图类似。
为了显示更多细节,我希望允许用户水平平移并水平缩放,只要有更多数据显示在左侧和右侧(平移和缩放应仅由用户驱动{ {1}} - 轴)。
[lhsPlotSpace scaleToFitPlots:lhsPlots];
[rhsPlotSpace scaleToFitPlots:rhsPlots];
- 轴和x
- 轴应根据平移和缩放后可见的范围自动缩放。
你能帮我解决一下这个问题吗?我试图使用委托
基于我在Core Plot论坛和StackOverFlow中找到的代码示例,我尝试使用委托方法y
y2
但除了进行非常基本的缩放之外,我没有找到一个甚至接近我的问题的解决方案。
请您指点一下代理方法,如何限制滚动以及在平移和缩放后如何以及在何处设置新的plotSpace:willChangePlotRangeTo:forCoordinate
- 比例因子?
非常感谢!
答案 0 :(得分:2)
将每个绘图空间的globalYRange
设置为相应的yRange
,以防止在y方向上缩放和滚动。
-scaleToFitPlots:
使用给定图的所有绘图数据。如果要根据可见数据缩放绘图空间yRange
,则必须在绘图空间委托中自行完成。 -plotSpace:willChangePlotRangeTo:forCoordinate:
委托方法是一个很好的选择。