千家信息网

UUChart的使用

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,一、简介UUChart是一个用于绘制图表的第三方,尤其适合去绘制折线图。自己再做一个医院相关的项目时,需要对一周内的血压进行监控,需要绘制折线图来表示出高压、低压的走向,因此学习了一下。二、下载地址:
千家信息网最后更新 2024年11月26日UUChart的使用

一、简介

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

二、下载地址:

https://github.com/ZhipingYang/UUChartView

三、使用

第一步、首先我们将下载下来的文件解压,里面有一个UUChar的文件夹,然后将整个文件夹都拖到项目里面。我们会发现里面有UUBar.h、UUChart.h等文件,这些就是UUChart的具体实现。

第二步、我们需要在引用的.h文件中引入

        #import "UUChart.h"

然后实现代理

@interface BloodPressureViewController : BaseViewController

然后我们需要实例化一个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];}

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

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

View Code


实例 文件 线图 方法 低压 内容 坐标 就是 数组 纵坐标 高压 三个 文件夹 横坐标 项目 代理 最大 最小 两个 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库系统的扩展性设计 售后件bom数据库 教育系统网络安全周 手机游戏服务器机房 excel服务器作用 单片机用什么服务器修改数据 幼儿园网络安全教育文字版教案 gmv 软件开发效率 数据库大厅装修 升邦联创软件开发 网络安全容易找工作吗 我的世界服务器强行复活玩家 如何调整服务器系统的顺序 公安信息网络安全工作保密纪律 长宁区信息软件开发售后服务 文科生也可以选软件开发专业吗 南京商邻互联网信息科技 电信网络技术支撑笔试 河北项目软件开发靠谱吗 局域网服务器管理软件 鸿盈娱乐网络技术公司 专科生计算机网络技术和建筑工程技术哪个好 配置使用安全web服务器 宁夏便民平台软件开发哪儿好 互联网科技只不过是二手车平台 网络安全 就业 软件开发大神脑袋里放什么葫芦 独立服务器和云服务器的区别 数据库的数字类型有哪些 学什么方向要学数据库技术
0