MPChartAndroid轴线标签自定义的一些显示BUG
来源:互联网 发布:mysql建索引优化 编辑:程序博客网 时间:2024/06/05 07:15
MPChartAndroid的API调用我上一篇大概都介绍了,这一篇主要讲一下我项目中使用遇到的一个BUG,X轴设置标签的显示问题。
首先看一下我设置的数据
mValues = new ArrayList<>(); mValues.add(new Entry(0, 10,"08-1")); mValues.add(new Entry(1, 15,"")); mValues.add(new Entry(2, 25,"")); mValues.add(new Entry(3, 19,"")); mValues.add(new Entry(4, 25,"08-10")); mValues.add(new Entry(5, 16,"")); mValues.add(new Entry(6, 40,"")); mValues.add(new Entry(7, 24,"")); mValues.add(new Entry(8, 27,"08-21"));
我切换日期X轴显示的日期需要变化,X轴显示的标签个数也就需要动态变化
切换日期
这时候有个很严重的问题,X轴标签个数不固定就会出现显示问题,所以我们需要做以下设置
xAxis.setLabelCount(mValues.size(),true);
第二个参数传true的意思就是将x轴标签按照前边设置的数字强行等分。
这时候还有一个问题就是图标设置的数据如果为空会报空指针错误,所以我加了一下的判断。
if (Vals.size() > 0) { xAxis.setValueFormatter(new IAxisValueFormatter() { @Override public String getFormattedValue(float value, AxisBase axis) { if ((int) value >= Vals.size()) { return ""; } else { return Vals.get((int) value).getData() + ""; } } }); }
原本我以为这样就OK 了,最后又遇到另一个问题,当标签很多的时候value强转int类型就会出问题
你会发现中间的标签不见了
这时候你就需要将value 四舍五入的转为int值
if (mValues.size() > 0) { xAxis.setValueFormatter(new IAxisValueFormatter() { @Override public String getFormattedValue(float value, AxisBase axis) { if ((int) value >= mValues.size()) { return ""; } else { int tag = (int) ((value * 10 + 5) / 10); Log.d("New_Fragment_Date", "value..==:" + value); Log.d("New_Fragment_Date", "tag:" + tag); return mValues.get(tag).getData() + ""; } } }); }
我们可以发现中间的标签09-14 是集合第13个索引,而value12.99999强转int就变成了12,所以这下明白了吧
阅读全文
0 0
- MPChartAndroid轴线标签自定义的一些显示BUG
- MPChartAndroid的初体验,X轴和Y轴标签自定义
- Flex中如何利用canDropLabels样式,移除图表中一些水平轴线上标签
- JFreeChart笔记 (五) 时间序列图:设置轴线标签显示样式
- 自定义标签中tagsupport的一些方法
- 自定义Html的Title标签显示时间
- 自定义Html的Title标签显示时间
- TextView显示带有自定义标签的HTML
- prototype对于标签定位的一些BUG [摘]
- Chrome的bug解决办法:overflow导致a标签无法显示
- SharePoint 2013 关于自定义显示列表表单的bug
- 使用MPchartAndroid 曲线 计算y 轴的算法
- JSP自定义标签的一些基本知识点以及运用
- 两轴线-柱图的制作
- css生成自适应的竖直中轴线
- ECharts 仪表盘的轴线宽度修改
- 显示相对路径的自定义标签(tag)
- html代码编写:自定义hr标签的显示效果
- pycharm无法输出中文&cookielib is not define
- GalaxyOJ-853 (dp)
- java中的泛型
- 在阿里搭建FTP服务的坑
- 获取区块奖励过程
- MPChartAndroid轴线标签自定义的一些显示BUG
- 以太网端口聚合
- PHP 中正确统计中文字数
- 第五周——项目二—建立链栈算法库
- MYSQL的三大范式
- 9.23 看电影 2743
- java基础的入门
- Django 2.0 roadmap
- Linux下使用tomcat部署工程