iOS Charts库绘制曲线

Charts 是目前对于绘制各种图表来说相当强大的开源库,底层是基于swift开发的,也可以接入oc项目去开发。其中包括股票,期货。虚拟货币及相关金融项目可以很好的解决一些k线的绘制问题(这折线图,曲线图,,蜡烛图,饼状图..)。

由于目前现阶段公司做期货方面的软件,基于Charts库简单的开发了曲线功能,自己也是首次接触,有什么不足的地方,欢迎大家交流意见。

一、 导入集成

我的项目是基于OC语言开发的,导入方式可以手动导入,和使用pods导入,如果是手动导入的话需要去构建桥接文件,然后再导入swift头问件去使用,我们这里就不具体讲oc与swift的桥接了,大家可以去网上查找,我自己的是使用pods去导入的,pod完成之后在你的pch文件中导入头文件,全局就可以使用了。注意不同版本的对swift版本也是有要求的,我xcode中设置的swift版本是swift5。

 iOS Charts库绘制曲线_第1张图片 

 

二、使用,搭建整体框架

使用LineChartView创建chartView对象,写入代理

@property (nonatomic, strong) LineChartView *chartView;

iOS Charts库绘制曲线_第2张图片

* 添加视图,设置视图属性

iOS Charts库绘制曲线_第3张图片

iOS Charts库绘制曲线_第4张图片

三、X轴配置 

   iOS Charts库绘制曲线_第5张图片

四、 Y轴配置

iOS Charts库绘制曲线_第6张图片

写到这儿也就是我们的底层视图和x,y轴的相关属性都已经配置好了,接下来就是对接数据

五、实现代理方法
 

//图表中数值被选中

- (void)chartValueSelected:(ChartViewBase *)chartView entry:(ChartDataEntry *)entry highlight:(ChartHighlight *)highlight

//图表中的空白区域被选中

- (void)chartValueNothingSelected:(ChartViewBase *)chartView

// 图表被缩放

- (void)chartScaled:(ChartViewBase *)chartView scaleX:(CGFloat)scaleX scaleY:(CGFloat)scaleY

//图表被移动

- (void)chartTranslated:(ChartViewBase *)chartView dX:(CGFloat)dX dY:(CGFloat)dY

六、写入数据

曲线的绘制就是绘制一个点一个点(x,y轴数据确定一个点),然后连接这些点,了解这些之后,这是我们的数据源,里面放的就是每一个点的信息

@property (nonatomic, strong) NSMutableArray *dataArray;

将我们数据源里的信息转换成entry信息

iOS Charts库绘制曲线_第7张图片

然后设置数据的set集

iOS Charts库绘制曲线_第8张图片

最后创建容器,介入数据,绘制成曲线

 到此我们已经绘制出了一个完整的曲线图,往往曲线,k线数据都是实时推送,实时绘制的,我们只要去处理推送过来新数据,然后更新set data数据然后再更新图表就ok了。

iOS Charts库绘制曲线_第9张图片

你可能感兴趣的:(ios,objective-c,区块链,swift)