UUChart的使用

网友投稿 275 2022-10-26


UUChart的使用

一、简介

UUChart是一个用于绘制图表的第三方,尤其适合去绘制折线图。自己再做一个医院相关的项目时,需要对一周内的血压进行监控,需要绘制折线图来表示出高压、低压的走向,因此学习了一下。

二、下载地址:

*bloodPressureCharView;

实例化三个数组:

NSMutableArray *xValues;   //这个是横坐标的内容     NSMutableArray *yValues1;  //这个是竖坐标的内容(高压)       NSMutableArray *yValues2;  //这个是竖坐标的内容(低压)

第三步、实现代理方法

#pragma mark - UUCharView Delegate//该方法是返回实例化的折线图的横坐标-(NSArray *)UUChart_xLableArray:(UUChart *)chart {    return xValues;    }//该方法是返回实例化的折线图的竖坐标(若返回一个就是一条折线图,我这里需要显示高压低压,所以返回了两个)-(NSArray *)UUChart_yValueArray:(UUChart *)chart {        return @[yValues1,yValues2]; }//这里返回纵坐标的范围。-(CGRange)UUChartChooseRangeInLineChart:(UUChart *)chart {    return CGRangeMake(200,0); }//这里用于设置是否显示最大值最小值。  -(BOOL)UUChart:(UUChart *)chart ShowMaxMinAtIndex:(NSInteger)index {    return YES; }//颜色数组- (NSArray *)UUChart_ColorArray:(UUChart *)chart {    return @[UUGreen,UURed,UUBrown]; }- (BOOL)UUChart:(UUChart *)chart ShowHorizonLineAtIndex:(NSInteger)index {    return YES; }

第四步、我们把自己需要设置的数据放入三个数组中即可。

题外话,我自己需要一个功能就是把所有的折线图中的点的纵坐标都显示出来,所以对UUChart稍加修改即可。修改方法如下:

找到UULineChar.m然后找到如下代码:

- (void)addPoint:(CGPoint)point index:(NSInteger)index isShow:(BOOL)isHollow value:(CGFloat)value {     UIView *view = [[UIView alloc]initWithFrame:CGRectMake(5, 5, 8, 8)];     view.center = point;     view.layer.masksToBounds = YES;     view.layer.cornerRadius = 4;     view.layer.borderWidth = 2;     view.layer.borderColor = [[_colors objectAtIndex:index] CGColor]?[[_colors objectAtIndex:index] CGColor]:UUGreen.CGColor;         if (isHollow) {         view.backgroundColor = [UIColor whiteColor];     }else{         view.backgroundColor = [_colors objectAtIndex:index]?[_colors objectAtIndex:index]:UUGreen;         UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(point.x-UUTagLabelwidth/2.0, point.y-UULabelHeight*2, UUTagLabelwidth, UULabelHeight)];         label.font = [UIFont systemFontOfSize:10];         label.textAlignment = NSTextAlignmentCenter;         label.textColor = view.backgroundColor;         label.text = [NSString stringWithFormat:@"%d",(int)value];         [self addSubview:label];     }       [self addSubview:view];   }

我们只需要把if else判断去掉即可。即

- (void)addPoint:(CGPoint)point index:(NSInteger)index isShow:(BOOL)isHollow value:(CGFloat)value {     UIView *view = [[UIView alloc]initWithFrame:CGRectMake(5, 5, 8, 8)];     view.center = point;     view.layer.masksToBounds = YES;     view.layer.cornerRadius = 4;     view.layer.borderWidth = 2;     view.layer.borderColor = [[_colors objectAtIndex:index] CGColor]?[[_colors objectAtIndex:index] CGColor]:UUGreen.CGColor;     //    if (isHollow) {//        view.backgroundColor = [UIColor whiteColor];//    }else{         view.backgroundColor = [_colors objectAtIndex:index]?[_colors objectAtIndex:index]:UUGreen;         UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(point.x-UUTagLabelwidth/2.0, point.y-UULabelHeight*2, UUTagLabelwidth, UULabelHeight)];         label.font = [UIFont systemFontOfSize:10];         label.textAlignment = NSTextAlignmentCenter;         label.textColor = view.backgroundColor;         label.text = [NSString stringWithFormat:@"%d",(int)value];         [self addSubview:label];//    }          [self addSubview:view]; }

这样就可以把所有点的纵坐标显示出来了。效果如图所示

另附请求处理源码,希望大家用得到


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:js中的继承
下一篇:小白看学习前端内容
相关文章

 发表评论

评论列表