股票的分时图

最近由于项目需要,接触了股票的分时图和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];

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容