美文网首页iOS精華iOS-Charts统计图表iOS Developer
iOS图表库Charts使用(不常见但很实用的属性)

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

作者: ttdiOS | 来源:发表于2017-09-04 11:09 被阅读861次

    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);//需要在设置数据源后生效(这是一个坑,懒加载写这个方法并没任何反应,必须在调用数据后使用才有效果)

    我的:

    设置数据后写[_barChartView setVisibleXRangeMinimum:6.f];

    我是在

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

    ChartViewPortHandler *scaleX = _barChartView.viewPortHandler;

    [scaleX setMinimumScaleX:1.5f];)

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

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

    x轴单元数据显示不全

    向左滑动后才:

    x轴单元数据显示全

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

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

    相关文章

      网友评论

      • 秋S寂S:我想问下,Y轴上,数值是0.1的,显示成了.1,这个怎么解决呀
        ttdiOS:@秋S寂S 多看源码,资源
      • foolish_hungry:上面的数字我的是浮点数, 怎么修改为整数?
      • 读_心:左右滑动的时候,怎么设置开始位置在最右侧,然后往左滑动呢?
        3b73ac1e6515:@读_心 左右滑动的时候,怎么设置开始位置在最右侧 请问这个问题解决了吗
        读_心:哪个属性?麻烦给说一下。谢谢
        ttdiOS:颠倒下x轴位置,多看下代码
      • 析臣:请问LineChartView中的选中十字线可不可以设置只显示Y轴方向的?
        ttdiOS:@析臣 恭喜
        析臣:@ttdiOS 已经找到了😂,dataSet有一个这样的属性drawHorizontalHighlightIndicatorEnabled
        隐藏太深了,属性太多了😂
        ttdiOS:可以隐藏选中十字线,找找你的只显示Y轴方向需求代码
      • butterflyer:前段时间项目需求拿这个库。一口气写了六中表格。。。。
        ttdiOS:@小gang 这里就有啊:https://www.jianshu.com/p/cc3b600dded3
        小gang:@butterflyer 来个chart使用系列教程!必火
        ttdiOS:👍

      本文标题:iOS图表库Charts使用(不常见但很实用的属性)

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