[iOS]二维曲线图表

这里的曲线指的是弧线和折线

原始DEMO:http://code4app.com/ios/MPPlot/53bb95cb933bf01f688b4d22

 

本文DEMO:http://download.csdn.net/detail/u012881779/9414468

需求:
横坐标+纵坐标+曲线,最后还要对曲线和横坐标所夹住区域加填充色。
好了,本文主要就是上面这部分内容,参照demo。

示意代码:


#import "HomeViewController.h"
#import "DMChartViewController.h"

@interface HomeViewController ()
@property (strong, nonatomic) DMChartViewController *chart;

@end

@implementation HomeViewController
@synthesize chart = _chart;

//图表一
- (IBAction)appearChartAction:(id)sender {
    
    if(!_chart){
        _chart = [[DMChartViewController alloc] initWithNibName:@"DMChartViewController" bundle:nil];
    }
    _chart.view.frame = CGRectMake(0, 60, [UIScreen mainScreen].bounds.size.width, 250);

    //values与abscissas传值个数一样,是一一对应的关系
    _chart.values    = [[NSArray alloc] initWithObjects:@"20",@"44",@"35",@"40",@"55",@"70",@"66", nil];
    _chart.abscissas = [[NSArray alloc] initWithObjects:@"周一",@"周二",@"周三",@"周四",@"周五",@"周六",@"周日", nil];
    
    _chart.ordinates = [[NSArray alloc] initWithObjects:@"0",@"11",@"22",@"33",@"44",@"55",@"66",@"77",@"88",@"99", nil];
    
    UIColor *tempColor = [UIColor colorWithRed:140/255.0 green:80/255.0 blue:70/255.0 alpha:1];

    _chart.fillColors = [[NSArray alloc] initWithObjects:tempColor,tempColor, nil];
    _chart.graphColor = [UIColor redColor];
    
    _chart.curved = YES;
    _chart.allLabAppear = YES;
    _chart.labFontSize = 12;
    _chart.allMarkLabSzie = CGSizeMake(28, 16);
    _chart.ordinateMaxHeight = [self getMaxHeightFrome:_chart.ordinates];
    
    [self.view addSubview:_chart.view];
}

//获取最大的纵坐标
-(float)getMaxHeightFrome:(NSArray *)theArr{
    float tempFlot = 0;
    for (int i = 0; i < theArr.count ; i ++) {
        //纵坐标这里传的是整型或浮点型,
        id tempobj = [theArr objectAtIndex:i];
        float objFloat = [tempobj floatValue];
        if(objFloat > tempFlot){
            tempFlot = objFloat;
        }
    }
    
    return tempFlot;
}


@end
 

示意图:
显示出所有标签曲线图:

 

点击红点后弹出标签的折线图:

 

点击弹出提示的动态效果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值