2つのラインプロット(プロット1はy
LHSの-軸を使用し、プロット2はy2
RHSの-軸を使用します)と2つのプロットスペース(lhsPlotSpace
およびrhsPlotSpace
)を含むコアプロットチャートがあります。
最初のプロット設定でscaleToFitPlots
は、2つのプロットを自動スケーリングするために使用します。これは、期待どおりに機能します。
[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
パンとズームの後に新しいスケール係数を設定する方法と場所を教えてください。
どうもありがとうございます!