2012-08-14 123 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