UUChart的使用--iOS绘制折线图
UUChart是一个用于绘制图表的第三方,尤其适合去绘制折线图。
二、下载地址:
https://github.com/ZhipingYang/UUChartView
三、使用
第一步、首先我们将下载下来的文件解压,里面有一个UUChar的文件夹,然后将整个文件夹都拖到项目里面。我们会发现里面有UUBar.h、UUChart.h等文件,这些就是UUChart的具体实现。
第二步、我们需要在引用的.h文件中引入
#import “UUChart.h"
然后实现代理
@interface currentViewController : BaseViewController<UUChartDataSource>
接着实例化一个视图:
@property(nonatomic,strong)UUChart *chartView;
@property(nonatomic,strong)NSMutableArray *chartArray;//Y的坐标
@property(nonatomic,strong)NSMutableArray *dateArray;//X的坐标
@property (nonatomic, strong) UIView *headerChartView;//图表view
-(UIView *)tableViewHeaderView{
CGFloat headerChartViewH = 400.0f;
self.headerChartView = [DMWidget viewWithFrame:CGRectMake(0, headerDataView.bottom+40, DMViewWidth(_currentProjectDetailsTableView), headerChartViewH) toView:headerView];
_headerChartView.backgroundColor = DMRGB(255, 255, 255);
CGFloat headerViewH = headerDataViewH+ headerChartViewH+40;
headerView.frame = CGRectMake(0, 0, DMViewWidth(_currentProjectDetailsTableView), headerViewH);
return headerView;
}
-(UUChart *)chartView
{
if (!_chartView) {
_chartView = [[UUChart alloc]initwithUUChartDataFrame:CGRectMake(20, 0, [UIScreen mainScreen].bounds.size.width-40, 150)
withSource:self
withStyle:UUChartLineStyle];
[_chartView showInView:_headerChartView];
}
return _chartView;
}
#pragma mark - @optional
//颜色数组
- (NSArray *)UUChart_ColorArray:(UUChart *)chart
{
return @[UUTwitterColor,UURed,UUBrown];
}
//显示数值范围
- (CGRange)UUChartChooseRangeInLineChart:(UUChart *)chart
{
// [self.chartArray addObjectsFromArray: @[@"11.2",@"11.4",@"11.5",@"11.6",@"11.8",@"11.9",@"12.0000"]];
return CGRangeMake([[[self getMaxAndMin:self.chartArray] firstObject] floatValue]*1.1, [[[self getMaxAndMin:self.chartArray] lastObject] floatValue]*0.9);
}
#pragma mark 折线图专享功能
//标记数值区域
- (CGRange)UUChartMarkRangeInLineChart:(UUChart *)chart
{
return CGRangeZero;
}
//判断显示横线条
- (BOOL)UUChart:(UUChart *)chart ShowHorizonLineAtIndex:(NSInteger)index
{
return YES;
}
-(NSArray*)getMaxAndMin:(NSArray*)sortArray
{
//取得两个值比较大的一个
NSComparator cmptr = ^(id obj1, id obj2){
if ([obj1 floatValue] > [obj2 floatValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 floatValue] < [obj2 floatValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
};
NSArray *array = [sortArray sortedArrayUsingComparator:cmptr];
NSString *max = [array lastObject];
NSString *min = [array firstObject];
NSArray *maxAndMinArray = @[max,min];
return maxAndMinArray;
}
UUChart的使用--iOS绘制折线图的更多相关文章
- 用canvas绘制折线图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- php中用GD绘制折线图
php中用GD绘制折线图,代码如下: Class Chart{ private $image; // 定义图像 private $title; // 定义标题 private $ydata; // 定 ...
- html5绘制折线图
html5绘制折线图详细代码 <html> <canvas id="a_canvas" width="1000" height="7 ...
- Android自己定义组件系列【9】——Canvas绘制折线图
有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了非常多插件,可是非常多时候我们须要依据详细项目自己定义这些图表,这一篇文章我们一起来看看怎样在Android中使用Can ...
- JFreeChart绘制折线图实例
JFreeChart是JAVA平台上的一个开放的第三方图表绘制类库.只要下载JFreeChart的类库,导入项目即可使用.下面是一个绘制折线图的实例.各处注释都已经写的比较清晰了. package c ...
- 【带着canvas去流浪】(2)绘制折线图
目录 一. 任务说明 二. 重点提示 三. 示例代码 3.1 一般折线图 3.2 用贝塞尔曲线绘制平滑折线图 四. 大数据量场景 示例代码托管在:https://github.com/dashnowo ...
- python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...
- 用PNChart绘制折线图
写在前面 上一篇文章已经介绍过用PNChart绘制饼状图了,绘制折线图的步骤和饼状图的步骤是相似的,按照中的准备做好准备工作后就可以绘制折线图了. 开始使用 1.在view中声明一个PNLineCha ...
- Android自定义控件 -Canvas绘制折线图(实现动态报表效果)
有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas ...
随机推荐
- CentOS6.5安装mysql5.1.73
思路: 1.查看有无安装过mysql rpm -qa|grep mysql
- 大家一起和snailren学java-(六)复用类
“失恋了,唉,还没开始就结束了……唉……继续看java” 今天又是周末,我们来看看java的复用机制是什么情况.大家知道,代码复用非常实用,这项特性是java的一个重要的部分.那java用什么来实现的 ...
- 手把手集成web端手写公式功能
何为手写公式,很简单,就是在网页上可以写出数学公式,并能够生成Latex格式的字符串.废话不多说,直接走正题. 一.首先大家可以先去官网了解一下myscript这个插件 官方网站:https://de ...
- Windows Server 2012 R2下通过80端口访问Odoo ERP
背景 Odoo 9.0系统,安装于Windows Server 2012R2,同时与IIS并存.Odoo自带web服务器,使用端口8069.因客户需要用80端口访问,因此需要进一步设置,且8069端口 ...
- 一个SharePoint定时器 (SPJobDefinition)
需要写一个自定义的sharepoint timer job, 目的是要定时到Site Collection Images这个List里检查图片的过期日期,如果即将过期的话,需要发送email到相关的人 ...
- Java读写txt文件
1.Java读取txt文件 1.1.使用FileInputStream: public static String readFile(File file, String charset){ //设置默 ...
- 虚拟机Linux----Ubuntu1204----root登录设置
说明:装好的ubuntu12.04登录时,默认是看不到root用户的,需要设置一下. 1.先用普通用户登录,打开终端,切换为root用户,如下: su root 2.修改 sudo gedit /et ...
- Microsoft Community
一.简介 Microsoft Community 是一个免费社区和讨论论坛,项目开发遇到的问题可以在这里进行提出和解答. 二.地址 http://answers.microsoft.com/zh-ha ...
- [转]How to insert a row between two rows in an existing excel with HSSF (Apache POI)
本文转自:http://stackoverflow.com/questions/5785724/how-to-insert-a-row-between-two-rows-in-an-existing- ...
- 我的vim配置文件.vimrc
我的vim配置文件.vimrc map <silent> <F10> :TlistToggle<cr>map <silent> <F8> : ...