2012-11-20 97 views
0

我不希望在條形圖視圖中顯示軸線。我只想顯示酒吧情節如何刪除該軸線?不要在條形圖中使用核心圖顯示軸線

即每當我運行該應用程序顯示XY軸,但我可以刪除的地方顯示該軸線。

- (void)generateData 
    { 
    NSMutableDictionary *dataTemp = [[NSMutableDictionary alloc] init]; 

    //Array containing all the dates that will be displayed on the X axis 
    dates = [NSArray arrayWithObjects:@"A", @"B", @"C", 
     @"D", @"E", nil]; 

//Dictionary containing the name of the two sets and their associated color 
//used for the demo 
sets = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], @"Plot 1", nil]; 

//Generate random data for each set of data that will be displayed for each day 
//Numbers between 1 and 10 
for (NSString *date in dates) { 
    NSMutableDictionary *dict = [NSMutableDictionary dictionary]; 
    for (NSString *set in sets) { 


     NSNumber *num = [NSNumber numberWithInt:arc4random_uniform(8)+1]; 


     [dict setObject:num forKey:set]; 
    } 
    [dataTemp setObject:dict forKey:date]; 
} 

data = [dataTemp copy]; 

NSLog(@"%@", data); 
} 
- (void)generateLayout 
{ 
//Create graph from theme 
graph        = [[CPTXYGraph alloc] initWithFrame:CGRectMake(0, 0, 320, 400)]; 
self.hostedGraph     = graph; 
/*graph.paddingLeft     = 25.0; 
graph.paddingTop     = 10.0; 
graph.paddingRight     = 10.0; 
graph.paddingBottom     = 50.0; 
*/ 

//Add plot space 
CPTXYPlotSpace *plotSpace  = (CPTXYPlotSpace *)graph.defaultPlotSpace; 
plotSpace.delegate    = self; 
plotSpace.yRange    = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0) 
                   length:CPTDecimalFromFloat(10.0f)]; 
plotSpace.xRange    = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(-1.0f) 
                   length:CPTDecimalFromFloat(8.0f)]; 


//Create a bar line style 
CPTMutableLineStyle *barLineStyle = [[CPTMutableLineStyle alloc] init]; 
barLineStyle.lineWidth    = 1.0; 
barLineStyle.lineColor    = [CPTColor whiteColor]; 
CPTMutableTextStyle *whiteTextStyle = [CPTMutableTextStyle textStyle]; 
whiteTextStyle.color    = [CPTColor whiteColor]; 





//Plot 
BOOL firstPlot = YES; 


for (NSString *set in [[sets allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]) { 


    CPTBarPlot *plot  = [CPTBarPlot tubularBarPlotWithColor:[CPTColor blueColor] horizontalBars:NO]; 
    plot.lineStyle   = barLineStyle; 
    CGColorRef color  = ((UIColor *)[sets objectForKey:set]).CGColor; 
    plot.fill    = [CPTFill fillWithColor:[CPTColor colorWithCGColor:color]]; 
    if (firstPlot) { 
     plot.barBasesVary = NO; 
     firstPlot   = NO; 
    } else { 
     plot.barBasesVary = YES; 
    } 
    plot.barWidth   = CPTDecimalFromFloat(0.5f); 
    plot.barOffset=CPTDecimalFromFloat(0.5f); 
    plot.barsAreHorizontal = NO; 
    plot.dataSource   = self; 
    plot.identifier   = set; 
    [graph addPlot:plot toPlotSpace:plotSpace]; 

    [plotSpace scaleToFitPlots:[graph allPlots]]; 
} 




//Add legend 
CPTLegend *theLegend  = [CPTLegend legendWithGraph:graph]; 
theLegend.numberOfRows = sets.count; 
theLegend.fill   = [CPTFill fillWithColor:[CPTColor colorWithGenericGray:0.15]]; 
theLegend.borderLineStyle = barLineStyle; 
theLegend.cornerRadius = 10.0; 
theLegend.swatchSize  = CGSizeMake(15.0, 15.0); 
whiteTextStyle.fontSize = 13.0; 
theLegend.textStyle  = whiteTextStyle; 
theLegend.rowMargin  = 5.0; 
theLegend.paddingLeft  = 10.0; 
theLegend.paddingTop  = 10.0; 
theLegend.paddingRight = 10.0; 
theLegend.paddingBottom = 10.0; 
graph.legend    = theLegend; 
graph.legendAnchor  = CPTRectAnchorTopLeft; 
graph.legendDisplacement = CGPointMake(80.0, -10.0); 

} 

- (void)createGraph 
{ 
//Generate data 
[self generateData]; 


//Generate layout 
[self generateLayout]; 
} 



    #pragma mark - CPTPlotDataSource methods 

    - (NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot 
{ 
return dates.count; 
} 

    - (double)doubleForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex: (NSUInteger)index 
{ 


double num = NAN; 

//X Value 
if (fieldEnum == 0) { 
    num = index; 
} 

else { 
    double offset =0; 

    if (((CPTBarPlot *)plot).barBasesVary) { 

     for (NSString *set in [[sets allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]) { 

      if ([plot.identifier isEqual:set]) { 

       break; 
      } 
      offset += [[[data objectForKey:[dates objectAtIndex:index]] objectForKey:set] doubleValue]; 
     } 
    } 


    //Y Value 
    if (fieldEnum == 1) { 
     num = [[[data objectForKey:[dates objectAtIndex:index]]  objectForKey:plot.identifier] doubleValue] + offset; 
    } 


    //Offset for stacked bar 
    else { 
     num = offset; 
    } 
} 

//NSLog(@"%@ - %d - %d - %f", plot.identifier, index, fieldEnum, num); 

return num; 
    } 

    @end 

回答

0

使用[CPTLineStyle lineStyle]會給一個細黑線:所以我在這裏添加代碼

看到我的代碼在這裏我不能添加圖像。您還可以創建一個CPTMutableLineStyle和修改樣式屬性,包括顏色,寬度,線加入,虛線樣式來定製外觀

也與此波紋線

設置minorTickLineStyle屬性nil

嘗試有關詳細信息,請參閱此鏈接

HighLevelDesignOverview

CPTLineStyle,你可以從信息此鏈接..

CPTLineStyle

相關問題