charts框架 横向 纵向柱状图
来源:互联网 发布:湖畔网络 编辑:程序博客网 时间:2024/04/27 02:23
实现效果如下,除了基础的柱状图实现,主要增加了,x ,y 轴的自定义title,可以显示汉字而不是数值。最近一直做charts的集成,所以把心得给大家介绍一下。避免走弯路。由于网上IOS相关的demo比较少。所以比较难找的方法。应该对大家有很大的帮助,说一下实现的思路,大体如下
1.需要一个类,比如柱状图就是BarChartView,然后我们需要对这个类的数据进行操作,需要barchartData
BarChartData *data = [self generateBarChartData:yValues title:bar barColor:[UIColor orangeColor]]; barChart.data = data;
2.对barchartData进行操作需要,而又需要BarChartDataSet的赋值。所以最后操作都集中在BarChartDataSet
BarChartDataSet *set = [[BarChartDataSet alloc] initWithValues:entries label:title]; set.drawValuesEnabled = YES; set.drawIconsEnabled = NO; set.colors = @[barColor]; NSMutableArray *dataSets = [[NSMutableArray alloc] init]; [dataSets addObject:set]; BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets];
另外需要注意的是,不论横向还是纵向都是一个模板,同样的轴,正常的是纵向,横向只是纵向的翻转。也就是说横向的Y轴操作,其实就是对这个框架的x轴进行操作。
下面介绍一下,x轴和y轴赋值
//y轴赋值 NSMutableArray *entries = [NSMutableArray array]; for (int i =0; i<yValues.count; i++) { BarChartDataEntry *barEntry = [[BarChartDataEntry alloc] initWithX:i y:[yValues[i] doubleValue] icon:[UIImage imageNamed:@"icon"]]; [entries addObject:barEntry]; }
x轴的赋值也是比较难找的方法
ChartXAxis *xAxis = barChart.xAxis; xAxis.valueFormatter = [[ChartIndexAxisValueFormatter alloc] initWithValues:xValues];
具体的源代码和细节请参考本人github上的demo:
https://github.com/lee727n/Chart-Barview
另外,细心的可能会发现横向柱状图显示有问题,数字显示不出来。这是charts框架的一个bug。至今还未解决。但是有解决办法。具体参考微博:
http://blog.csdn.net/lee727n/article/details/78095965
微博中附带官方文档对于问题的说明
阅读全文
0 0
- charts框架 横向 纵向柱状图
- IOS charts框架 横向柱状图显示数值问题
- JQuery 横向纵向菜单
- 横向设计,纵向实施
- 横向纵向下拉框
- JQuery 横向纵向菜单
- 横向,纵向下拉菜单
- 横向纵向打印
- jq横向纵向菜单
- Oracle横向纵向汇总
- Sql 横向转纵向
- 【JQuery】纵向横向菜单
- Oracle横向纵向求和
- Charts框架
- iOS Charts 混合柱状图开发
- iOS Charts 混合柱状图开发
- 纵向柱状图的CSS写法
- JfreeChar 画横向柱状图
- Xilinx HLx 2017.1 与VS 2017兼容问题解决
- 机器学习实战第五章——Logistic回归
- NoScrollListView 设置 Adapter 后 getView() 方法 view 会进行复用的问题
- 批量删除redis keys
- Babel 基础
- charts框架 横向 纵向柱状图
- selenium用Jquery定位总结笔记(基于python语言)
- jsp中的两种include方式
- MyBatis 实践 -配置
- Swift 使用 NSClassFromString 遇到的大坑
- lhgdialog弹出窗口再弹出一级窗口时,二级窗口在一级窗口下面,如何让他到一级窗口上面?
- 数人云实践|SRE遇上金融老干部,解决发布协调&监控告警两大难题
- Freemarker *.ftl后缀文件 在 eclipse IDE以HTML格式打开
- ESLint 备忘录