2012-08-14 127 views
0

我一直在寻找这个问题的答案为3天,但无法弄清楚。ios coreplot多个y轴

我需要3个散点图添加到图形,这里是我的代码:

CPTXYAxis *x = [[CPTXYAxis alloc] init]; 
CPTXYAxis *lefty = [[CPTXYAxis alloc] init]; 
CPTXYAxis *righty = [[CPTXYAxis alloc] init]; 

x.coordinate = CPTCoordinateX; 
lefty.coordinate = CPTCoordinateY; 
righty.coordinate = CPTCoordinateY; 

CPTAxisSet *axisSetTmp = [[CPTAxisSet alloc] init]; 

用于初始化和创建3个differend plotspaces像:

float xAxisMin = 0; 
float xAxisMax = 350; 
float yAxisMin = 0; 
float yAxisMax = 50; 

// We modify the graph's plot space to setup the axis' min/max values. 
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)self.graph.defaultPlotSpace; 
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(xAxisMin) length:CPTDecimalFromFloat(xAxisMax - xAxisMin)]; 
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yAxisMin) length:CPTDecimalFromFloat(yAxisMax - yAxisMin)]; 
x.plotSpace = plotSpace; 

终于创造我的情节,如:

CPTScatterPlot *plot = [[CPTScatterPlot alloc] init]; 
plot.dataSource = self; 
plot.identifier = @"mainplot"; 
plot.dataLineStyle = lineStyle; 
plot.plotSymbol = nil; 
plot.plotSpace = plotSpace; 

当我运行这个,3行被添加,但我只有1个y轴。无法弄清楚问题所在。

任何帮助将不胜感激。

回答

1
  1. 您是否将新轴添加到了图中?

    graph.axisSet.axes = [NSArray arrayWithObjects:x, lefty, righty, nil]; 
    
  2. 如果所有的轴和地块将具有相同的情节范围,你可以使用相同的占地空间为所有的人。新图形以您可以使用的图形开始(defaultPlotSpace)。使用-addPlotSpace:方法为图形添加额外的绘图空间。

+0

我已经试过了,我现在有解决方案,它包括你的答案也和我发现我犯了一个错误,但现在将其清除出与coreplottest样本应用程序,但它是为Mac编写的,我现在将它移植到ios :)感谢您的支持:) – iremk 2012-08-15 07:18:28