CorePlot - 无法使用2个绘图空间进行缩放

时间:2014-03-18 15:56:34

标签: zoom core-plot scatter-plot

我在一个图中有2个散点图。两个图都具有相同的x轴,但y比例不同。所以我创造了一个新的情节空间。

CPTGraph *graph = self.hostView.hostedGraph;
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace;

CPTXYPlotSpace *newPlotSpace = (CPTXYPlotSpace *) graph.newPlotSpace;
newPlotSpace.identifier = @"Fund PlotSpace";
[graph addPlotSpace:newPlotSpace];

// 2 - Create the two plots
CPTScatterPlot *aaplPlot = [[CPTScatterPlot alloc] init];
aaplPlot.delegate = self;
[graph addPlot:aaplPlot toPlotSpace:plotSpace];

CPTScatterPlot *fdPlot = [[CPTScatterPlot alloc] init];
fundingPlot.delegate = self;
[graph addPlot:fdPlot toPlotSpace:newPlotSpace];

我也启用了用户互动

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace;
plotSpace.allowsUserInteraction = YES;

CPTXYPlotSpace *newPlotSpace = (CPTXYPlotSpace *) graph.newPlotSpace;
newPlotSpace.allowsUserInteraction = YES;

我也做过这个

self.hostView = [(CPTGraphHostingView *) [CPTGraphHostingView alloc] initWithFrame:self.view.bounds]; 

self.hostView.allowPinchScaling = YES;
[self.view addSubview:self.hostView];

但第二个情节不会变焦。我无法理解为什么。

修改

这是我的完整代码

enter image description here

1 个答案:

答案 0 :(得分:0)

您正在创建两个新的绘图空间,但只在图表中添加一个。 -configureGraph中启用了用户互动的用户与-configurePlots中创建的用户互动不同,并添加到图表中。

-newPlotSpace方法为您创建一个新的绘图空间对象。在-configureGraph中,为其指定一个标识符并将其添加到图表中(从-configurePlots移动这些行)。如果您以后需要引用它(例如,在-configurePlots中),请执行以下操作:

CPTXYPlotSpace *newPlotSpace = (CPTXYPlotSpace *)[graph plotSpaceWithIdentifier:@"Fd Plot Space"];