1,柱型图绘制
-(void)drawRect:(CGRect)rect
{
//画xy轴
CGContextRef context = UIGraphicsGetCurrentContext();
[[UIColor redColor]set];
CGContextSetLineWidth(context, 2);
CGContextMoveToPoint(context, 0, 0);
CGContextAddLineToPoint(context, 200, 0);
CGContextMoveToPoint(context, 0, 0);
CGContextAddLineToPoint(context, 0, 200);
CGContextStrokePath(context);
//画中间的线条
[[UIColor grayColor]set];
CGContextSetLineWidth(context, 1);
CGFloat startX = 0;
CGFloat marginW = 20;
CGFloat startY = 200;
CGFloat endY = 0;
for (int i = 0; i<10; i++) {
startX += marginW;
CGContextMoveToPoint(context, startX, startY);
CGContextAddLineToPoint(context, startX, endY);
CGContextStrokePath(context);
}
UIColor *acolor;
CGFloat squareX = 1;
CGFloat squareY = 0;
CGFloat squareW = 0;
CGFloat squareH = 20;
for (int i = 0; i<5; i++) {
squareY += 30;
squareW = arc4random_uniform(200);
acolor = [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1];
CGContextSetLineWidth(context, 0.1);
CGContextSetFillColorWithColor(context, acolor.CGColor);
CGContextAddRect(context, CGRectMake(squareX, squareY, squareW, squareH));
CGContextDrawPath(context, kCGPathFillStroke);
}
}
2,饼图
-(void)drawRect:(CGRect)rect
{
NSArray *angleArr = @[@10,@20,@40,@30];
CGFloat startA = 0;
CGFloat endA = 0;
CGFloat angle = 0;
CGPoint center = CGPointMake(rect.size.width/2, rect.size.height/2);
//绘制饼图
for (NSNumber *num in angleArr) {
startA = endA;
angle = [num integerValue]/100.0*M_PI*2;
endA = startA + angle;
UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:rect.size.width/2 startAngle:startA endAngle:endA clockwise:YES];
[path addLineToPoint:center];
[[self randomColor]set];
[path fill];
}
}
-(UIColor *)randomColor
{
CGFloat r = arc4random_uniform(256)/255.0;
CGFloat g = arc4random_uniform(256)/255.0;
CGFloat b = arc4random_uniform(256)/255.0;
return [UIColor colorWithRed:r green:g blue:b alpha:1];
}
效果如下
947C72E5-353D-457B-99E8-52FB03452782.png