2012-11-20 72 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

相关问题