iOS图表库Charts使用(不常见但很实用的属性)

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轴每一个单元数据太长(比如说学生的名字太长),就会形成太拥挤的现象

iOS图表库Charts使用(不常见但很实用的属性)_第1张图片
最终效果

解析:可以倾斜显示x轴每一个单元数据,// xAxis.labelRotationAngle = -30;// x轴上名字的旋转角度,仿网页上的

但是这样又会形成,第一次进来时,学生名字只显示一半,向左滑动后,才偏移出全部的名字,但是整个barChartView也会上移动,后来用_barChartView.extraBottomOffset = 15;也解决不了问题。

办法:索性就不用倾斜显示了,即:

一个页面显示的数据太多了,都不看清楚,怎么样设置一个页面显示固定条数的数据,如果数据太多需要手动滑动看到

//设置一页显示的数据条数,超出的数量需要滑动查看:

_barChartView.setVisibleXRangeMaximum(double);//需要在设置数据源后生效(这是一个坑,懒加载写这个方法并没任何反应,必须在调用数据后使用才有效果)

我的:

iOS图表库Charts使用(不常见但很实用的属性)_第2张图片
设置数据后写[_barChartView setVisibleXRangeMinimum:6.f];

我是在

(// 需求:只滑动不缩放:(系统内部默认是先缩放后滑动)及初始化时x轴就缩放1.5倍,就可以滑动了,

ChartViewPortHandler *scaleX = _barChartView.viewPortHandler;

[scaleX setMinimumScaleX:1.5f];)

下使用(//        xAxis.labelRotationAngle = -30;// x轴上名字的旋转角度,

xAxis.labelPosition = XAxisLabelPositionBottom;//X轴的显示位置,默认是显示在上面的)的,每一次进来就这样:

iOS图表库Charts使用(不常见但很实用的属性)_第3张图片
x轴单元数据显示不全

向左滑动后才:

iOS图表库Charts使用(不常见但很实用的属性)_第4张图片
x轴单元数据显示全

若是有那个大神知道欢迎告知,我的解决就是没用倾斜的方法,直接用了_barChartView.setVisibleXRangeMaximum(double);

其他实用属性方法陆续更新。。。。

你可能感兴趣的:(iOS图表库Charts使用(不常见但很实用的属性))