利用EChart 画柱状图
来源:互联网 发布:libevent源码下载 编辑:程序博客网 时间:2024/05/31 20:52
代码下载:http://download.csdn.net/detail/qqmcy/6927265
DJColumnChartViewController.h
#import <UIKit/UIKit.h>#import "EChart/EColumnChart.h"@interface DJColumnChartViewController : UIViewController <EColumnChartDelegate, EColumnChartDataSource>@property (strong , nonatomic) EColumnChart* m_eColumnChart;@end
DJColumnChartViewController.m
#import "DJColumnChartViewController.h"#import "EColumnDataModel.h"#import "EColumnChartLabel.h"#import "EFloatBox.h"#import "EColor.h"#import <stdlib.h>@interface DJColumnChartViewController ()@property (strong , nonatomic) NSArray* data;@property (strong , nonatomic) EFloatBox* eFloatBox;@property (strong , nonatomic) EColumn* eColumnSelected;@property (strong , nonatomic) UIColor* tempColor;@end@implementation DJColumnChartViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad];// Do any additional setup after loading the view. self.view.transform = CGAffineTransformMakeRotation(M_PI / 2); NSMutableArray* temp = [NSMutableArray array]; for (int i = 0; i < 20; i++) { int value = arc4random() % 100; EColumnDataModel* eColumnDataModel = [[EColumnDataModel alloc] initWithLabel:[NSString stringWithFormat:@"%d",i] value:value index:i unit:@"kwh"]; [temp addObject:eColumnDataModel]; } _data = [NSArray arrayWithArray:temp]; _m_eColumnChart = [[EColumnChart alloc] initWithFrame:CGRectMake(0, 150, 300, 200)]; [_m_eColumnChart setColumnsIndexStartFromLeft:YES]; [_m_eColumnChart setShowHighAndLowColumnWithColor:YES]; _m_eColumnChart.delegate = self; NSLog(@"delegate = %@",_m_eColumnChart.delegate); _m_eColumnChart.dataSource = self; [self.view addSubview:_m_eColumnChart]; }#pragma -mark- EColumnChartDataSource-(NSInteger)numberOfColumnsInEColumnChart:(EColumnChart *)eColumnChart{ return [_data count];}-(NSInteger)numberOfColumnsPresentedEveryTime:(EColumnChart *)eColumnChart{ return 12;}-(EColumnDataModel*)highestValueEColumnChart:(EColumnChart *)eColumnChart{ EColumnDataModel* maxDataModel = nil; float maxValue = -FLT_MIN; for (EColumnDataModel* dataModel in _data) { if (dataModel.value > maxValue) { maxValue = dataModel.value; maxDataModel = dataModel; } } return maxDataModel;}-(EColumnDataModel*)eColumnChart:(EColumnChart *)eColumnChart valueForIndex:(NSInteger)index{ if (index >= [_data count] || index < 0) { return nil; } return [_data objectAtIndex:index + 1];}#pragma -mark- EColumnChartDelegate- (void)eColumnChart:(EColumnChart *) eColumnChart didSelectColumn:(EColumn *) eColumn{ NSLog(@"Index: %d Value: %f",eColumn.eColumnDataModel.index,eColumn.eColumnDataModel.value); if (_eColumnSelected) { _eColumnSelected.barColor = _tempColor; } _eColumnSelected = eColumn; _tempColor = eColumn.barColor; eColumn.barColor = [UIColor blackColor]; }-(void)eColumnChart:(EColumnChart *)eColumnChart fingerDidEnterColumn:(EColumn *)eColumn{ NSLog(@"Finger did enter %d",eColumn.eColumnDataModel.index); CGFloat eFloatBoxX = eColumn.frame.origin.x + eColumn.frame.size.width * 1.25; CGFloat eFloatBoxY = eColumn.frame.origin.y + eColumn.frame.size.height * (1 - eColumn.grade); if (_eFloatBox) { [_eFloatBox removeFromSuperview]; _eFloatBox.frame = CGRectMake(eFloatBoxX, eFloatBoxY, _eFloatBox.frame.size.width, _eFloatBox.frame.size.height); [_eFloatBox setValue:eColumn.eColumnDataModel.value]; [eColumnChart addSubview:_eFloatBox]; } else{ _eFloatBox = [[EFloatBox alloc] initWithPosition:CGPointMake(eFloatBoxX, eFloatBoxY) value:eColumn.eColumnDataModel.value unit:@"kwh" title:@"Title"]; _eFloatBox.alpha = 0.0; [eColumnChart addSubview:_eFloatBox]; } eFloatBoxY -= (_eFloatBox.frame.size.height + eColumn.frame.size.width * 0.25f); _eFloatBox.frame = CGRectMake(eFloatBoxX, eFloatBoxY, _eFloatBox.frame.size.width, _eFloatBox.frame.size.height); [UIView animateWithDuration:0.5f delay:0 options:UIViewAnimationOptionTransitionNone animations:^{ _eFloatBox.alpha = 1.0f; } completion:^(BOOL finished) { }]; }- (void) eColumnChart:(EColumnChart *) eColumnChart fingerDidLeaveColumn:(EColumn *) eColumn{ NSLog(@"");}/** When finger leaves wherever in the chart, will trigger both if finger is leaving from a column */- (void) fingerDidLeaveEColumnChart:(EColumnChart *)eColumnChart{ if (_eFloatBox) { [UIView animateWithDuration:0.5f delay:0 options:UIViewAnimationOptionTransitionNone animations:^{ _eFloatBox.alpha = 0.0f; _eFloatBox.frame = CGRectMake(_eFloatBox.frame.origin.x, _eFloatBox.frame.origin.y + _eFloatBox.frame.size.height, _eFloatBox.frame.size.width, _eFloatBox.frame.size.height); } completion:^(BOOL finished) { [_eFloatBox removeFromSuperview]; _eFloatBox = nil; }]; }}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
0 0
- 利用EChart 画柱状图
- echart读取数据库数据画柱状图
- echart-柱状图显示说明
- 利用gnuplot画柱状图
- echart 柱状图 实现动态加载
- 【转】 利用gnuplot画柱状图
- echart,柱状图多列的展示
- echart柱状图多地区数据加载字号
- echart 柱状图饼图调用后台数据
- mfc 利用CXTPChartControl画柱状图,响应柱状图单击事件
- 利用ggplot画分组柱状图的方法
- Android中利用Canvas画简单柱状图
- Echart 饼状图,柱状图series.data数据动态设置
- echart如何设置饼图的颜色以及柱状图颜色
- echart 折线图、柱状图、饼图、环形图颜色修改
- Echart关于柱状图上添加label并且纵向排列文本
- 利用java生成柱状图
- echart
- java调用matlab所计算的结果怎么再回传给java程序
- 2013下半年信息系统项目管理师(高级)上午试题及答案-讲师团俊平
- JS的基本使用(2)
- javascript 一段小程序2
- ContentProvider的使用
- 利用EChart 画柱状图
- 程序员面试题精选100题(63)-数组中三个只出现一次的数字[算法]
- ibatis配置文件解析过程中对DTD的加载处理
- Codeforces Round #229 (Div. 2)
- bzoj1030 文本生成器
- Five in a Row, Again-记录状态的dfs+剪枝
- SSE Intrinsics各函数介绍
- 建立时间和保持时间
- libmad学习进阶4 -----基于atlas音频驱动架构的MP3播放器