2013-03-20 18 views
0
I am unable to put three legend boxes on the graph.I have tried the following code 


    CPTGraph *graph1 = self.hostView.hostedGraph; 

       CGFloat legendPadding = -(self.view.bounds.size.width/8); 

       graph1.legendDisplacement = CGPointMake(legendPadding, 0.0);   
            
       CPTLegend *theLegend1 = [CPTLegend legendWithGraph:graph1]; 

       theLegend1.numberOfColumns = 1; 

       theLegend1.fill = [CPTFill fillWithColor:[CPTColor whiteColor]]; 

       theLegend1.borderLineStyle = [CPTLineStyle lineStyle]; 

       theLegend1.cornerRadius = 5.0;  


       graph1.legend = theLegend1;     

       graph1.legendAnchor = CPTRectAnchorTop; 
        

       CGFloat legendPadding1 = -(self.view.bounds.size.width/4); 


       graph1.legendDisplacement = CGPointMake(legendPadding1, 0.0); 

where am i going wrong ? 

Here is the code for adding plots: 

    CPTGraph *graph = self.hostView.hostedGraph; 
    CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace; 
    plotSpace.delegate = self; 
    // 2 - Create the three plots 
    aaplPlot = [[[CPTScatterPlot alloc] init]autorelease]; 
    aaplPlot.dataSource = self; 
    aaplPlot.identifier = @"MaxWeight"; 

    CPTColor *aaplColor = [CPTColor magentaColor]; 
    [graph addPlot:aaplPlot toPlotSpace:plotSpace]; 
    googPlot = [[[CPTScatterPlot alloc] init]autorelease]; 
    googPlot.dataSource = self; 
    googPlot.identifier = @"MinWeight"; 
    CPTColor *googColor = [CPTColor greenColor]; 
    [graph addPlot:googPlot toPlotSpace:plotSpace]; 

    msftPlot = [[[CPTScatterPlot alloc] init]autorelease]; 
    msftPlot.dataSource = self; 
    msftPlot.identifier = @"NormalWeight"; 

    CPTColor *msftColor = [CPTColor blueColor]; 
    [graph addPlot:msftPlot toPlotSpace:plotSpace]; 

    [plotSpace scaleToFitPlots:[NSArray arrayWithObjects:aaplPlot,msftPlot,googPlot,nil]]; 

我已添加此代碼來添加圖。使用上面的代碼,我只能繪製一個圖例框。但我的要求是要獲得三個圖例框..我在哪裏做錯了。請驗證代碼和讓我知道我在哪裏做錯了?如何使用coreplot在散點圖中獲取3個圖例框?

回答

0

除非您省略了一些設置代碼,否則問題在於您的圖形在創建圖例時沒有任何圖形。可以在將圖添加到圖之後創建帶有+legendWithGraph:的圖例,或者稍後使用-addPlot:-insertPlot:atIndex:方法將圖添加到圖例。

+0

爲以上圖表添加代碼。請驗證代碼。 – user2191467 2013-03-21 07:23:42

+0

這很好。在將圖添加到圖之後,務必將原先發布的圖例構建代碼移動到某個點。 – 2013-03-21 23:29:54

相關問題