核心图:沿x轴平移和缩放两个绘图空间,并自动缩放两个y轴

时间:2013-01-30 11:06:37

标签: ios objective-c cocoa-touch core-plot

我有一个带有两个线图的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 - 比例因子?

非常感谢!

enter image description here

1 个答案:

答案 0 :(得分:2)

将每个绘图空间的globalYRange设置为相应的yRange,以防止在y方向上缩放和滚动。

在计算新范围时,

-scaleToFitPlots:使用给定图的所有绘图数据。如果要根据可见数据缩放绘图空间yRange,则必须在绘图空间委托中自行完成。 -plotSpace:willChangePlotRangeTo:forCoordinate:委托方法是一个很好的选择。