美文网首页
股票的分时图

股票的分时图

作者: 法克君 | 来源:发表于2019-04-08 11:37 被阅读0次

    最近由于项目需要,接触了股票的分时图和K线图,K线图网上的资源很多也很完善,但是分时图相对文章写得比较模糊或者和需求不太相符,所以我写了一个分时图来实现最基本的功能。现在项目告一段落,记录下来,如果有需要的话可以下载,地址在下面。
    https://github.com/NSLoger/GGTimeLineView
    话不多说,先看一下效果

    股票分时图效果.png
    这里我是分为上下两个模块来实现的,上面分别画出时间段和最高最低价格,并且画出分时的折线,而地下注明当时时间的成交量。
    首先我介绍下分时图中的各属性和方法:
    //*必须设置
    @property (nonatomic, strong)NSMutableArray<GGTimeLineItem *> * dataArray; 
    //*必须设置,上部分占高     
    @property (nonatomic, assign) float upperViewHeight;  
     //*必须设置,下部分占高     
    @property (nonatomic, assign) float downViewHeight;            
    
    /**
     *  @brief                  画背景图
                                *必须调用
     */
    -(void)drawBgFramework;
    /**
     *  @brief                  数据入口
     */
    -(void)setDataArray:(NSMutableArray<GGTimeLineItem *> *)dataArray;
    /**
     *  @brief                  单独添加数据入口
     */
    -(void)addNewItem:(GGTimeLineItem *)item;
    
    /**
     *  @brief                  移除所有图层
     */
    -(void)removeAllLayer;
    

    *dataArray是分时图的在每个时间段的分时数据,里面是数据模型GGTimeLineItem,这个模型可以自定义,我一同附在了下载项目中。
    ---在GGTimeLineItem中有一点需要注意,那就是股票在11:30~13:00这个时间段是休盘的时间,需要对时间做处理,否则会出现数据偏差等情况。如果后台对时间未做处理,那么不需要改动模型中CurrentTime这个属性,如果后台已经做处理,在.m文件中将CurrentTime这个属性前对时间的计算处理注释掉就可以了。

    • upperViewHeight是显示折线图的上半部分的高度
    • downViewHeight是显示当前分钟交易量的下半部分的高度
    • drawBgFramework方法是画背景上显示的时间和最高最低价

    具体的用法为

    timeLineView = [[GGTimeLineView alloc] initWithFrame:APP_CGRectMake(0, 0, 262, 250)];
    timeLineView.upperViewHeight = APP_Origin_Y(206);
    timeLineView.downViewHeight = APP_Origin_Y(44);
    [timeLineView drawBgFramework];
     [self.view addSubview:timeLineView];
    

    比较简陋,为大家做个参考。如有什么问题,可以相互讨论。

    相关文章

      网友评论

          本文标题:股票的分时图

          本文链接:https://www.haomeiwen.com/subject/spayiqtx.html