iOS图表库Charts使用(不常见但很实用的属性)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS图表库Charts使用(不常见但很实用的属性)相关的知识,希望对你有一定的参考价值。
参考技术A ios图表库Charts使用(不常见但很实用的属性)至于Charts的普通demo方法请参见其它文章,本文主要讲述Charts不常见但很实用的属性。(关于集成的方法参见我的上一篇文章: iOS图表库Charts集成与使用 )
普通demo文章: iOS在OC项目中集成Charts绘制图表框架 这个是王雷大神的博客,对charts讲解很详细
OC调用Charts绘制图表--BarChartView
这个是李大宝(群主)的博客对于chart的理解,个人认为他是个逗逼,👏加入他的chart群交流,群号:539641834
所谓天下文章一般抄,百度出来的chart文章大部分都雷同。
好,开始不一样的讲解:
由于老板是个老者(今年50,60岁了),从事java多年,指导我们需求这一块,
1.交互柱状图时,只让用户左右滑动,不缩放,
解析:由于 chart官网 以及上面 大神的demo 都是默认先缩放后才可以滑动,这就出现了困难,经过几番查找,发现只要在创建图表时就设置缩放的比例,这样用户交互时,就不用先放大后才可以滑动,从而解决需求,当然x,y轴的手势启动也要相应的设置下。
方法:
// 需求:只滑动不缩放:(系统内部默认是先缩放后滑动)及初始化时x轴就缩放1.5倍,就可以滑动了,
ChartViewPortHandler *scaleX = _barChartView.viewPortHandler;
[scaleX setMinimumScaleX:1.5f];
//设置动画效果,可以设置X轴和Y轴的动画效果
[_barChartView animateWithYAxisDuration:0.25f];
2.当x轴每一个单元数据太长(比如说学生的名字太长),就会形成太拥挤的现象
解析:可以倾斜显示x轴每一个单元数据,// xAxis.labelRotationAngle = -30;// x轴上名字的旋转角度,仿网页上的
但是这样又会形成,第一次进来时,学生名字只显示一半,向左滑动后,才偏移出全部的名字,但是整个barChartView也会上移动,后来用_barChartView.extraBottomOffset = 15;也解决不了问题。
办法:索性就不用倾斜显示了,即:
一个页面显示的数据太多了,都不看清楚,怎么样设置一个页面显示固定条数的数据,如果数据太多需要手动滑动看到
//设置一页显示的数据条数,超出的数量需要滑动查看:
_barChartView.setVisibleXRangeMaximum(double);//需要在设置数据源后生效(这是一个坑,懒加载写这个方法并没任何反应,必须在调用数据后使用才有效果)
我的:
我是在
(// 需求:只滑动不缩放:(系统内部默认是先缩放后滑动)及初始化时x轴就缩放1.5倍,就可以滑动了,
ChartViewPortHandler *scaleX = _barChartView.viewPortHandler;
[scaleX setMinimumScaleX:1.5f];)
下使用(// xAxis.labelRotationAngle = -30;// x轴上名字的旋转角度,
xAxis.labelPosition = XAxisLabelPositionBottom;//X轴的显示位置,默认是显示在上面的)的,每一次进来就这样:
向左滑动后才:
若是有那个大神知道欢迎告知,我的解决就是没用倾斜的方法,直接用了_barChartView.setVisibleXRangeMaximum(double);
其他实用属性方法陆续更新。。。。
以上是关于iOS图表库Charts使用(不常见但很实用的属性)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表