基于BEMSimpleLineGraph的橫向可滑動(dòng)折線圖
LNLineChartView實(shí)現(xiàn)功能
- 橫線滾動(dòng),x軸為日期,最近一次展示在最后邊,查看以前的需要右滑.默認(rèn)選中最近一次節(jié)點(diǎn)
- 節(jié)點(diǎn)可點(diǎn)擊
- 分頁(yè)繪制,繪制時(shí)占用內(nèi)存
BEChart為BEMSimpleLineGraph中實(shí)現(xiàn)
代碼實(shí)現(xiàn)
//創(chuàng)建折線圖
- (void)createLineChartView{
chartView = [[LNLineChartView alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 208)];
chartView.delegate = self;
[self.view addSubview:chartView];
NSMutableArray *chartDataArr = [[NSMutableArray alloc] init];
for (int i = 0; i<100; i++) {
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
if (i<20) {
dict[@"star"] = [NSNumber numberWithInt:i%4];
dict[@"playDate"] = @"2017-06-01 18:05:51";
}else{
dict[@"star"] = [NSNumber numberWithInt:i%4];
dict[@"playDate"] = @"2017-06-04 18:05:51";
}
[chartDataArr addObject:dict];
}
chartView.starInfoArr = chartDataArr;
}
//實(shí)現(xiàn)折線圖代理方法
#pragma mark - <LNLineChartViewDelegate>
//默認(rèn)選中最近一次節(jié)點(diǎn)觸發(fā)代理方法
- (void)refreshLatestObjectWithDateStr:(NSString *)dateStr star:(NSInteger)star
{
}
//節(jié)點(diǎn)點(diǎn)擊事件觸發(fā)的代理方法
- (void)chartViewDotsTouchWithIndex:(NSInteger)index model:(LNLineChartModel *)model
{
[self refreshLatestObjectWithDateStr:model.playDate star:model.star];
}
linechart.png
附: demo github 下載地址 https://github.com/KrystalNa/LNLineChart