【Android Studio】MPAndroidChart v3.1.0 自定义 X 轴、Y 轴标签ValueFormatter

MPAndroidChart 自定义 X 、Y 标签,v3.1.0 如何避坑。

2021-07-23 15:45:47

错误版本:😫😫

项目需求自定义一下 MPAndroidChart X 轴标签,寻寻觅觅,找到的都是 老版本的错误代码(反正我模仿了一下写法,使用 3.1.0 情况下,均报错,即使 install 后,也打不开相应的 Activity),他们代码基本一致,如下所示:(以 x 轴为例)

// 先是 定义 一个 xLabel ArrayList,用它来存放标签信息。
final ArrayList<String> xLabel = new ArrayList<>();
    xLabel.add("9");
    xLabel.add("15");
    xLabel.add("21");
    xLabel.add("27");
    xLabel.add("33");  
    // or use some other logic to save your data in list. For ex. 
    for(i=1; i<50; i+=2)
    { 
       xLabel.add(""+3*i);
    }
// 然后使用 IAxisValueFormatter 这个接口来实现。
XAxis xAxis = mChart.getXAxis();
    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
    xAxis.setDrawGridLines(false);
    xAxis.setValueFormatter(new IAxisValueFormatter() {
        @Override
        public String getFormattedValue(float value,AxisBase axis) {
            return xLabel.get((int)value);
        }
    });

这样写有大问题嗷!在 Android Studio 中报错了!👇
错误
你看你看,👇,人家想要 ValueFormatter,你给人家 IAxisValueFormatter,能对了才怪了!
错误2
我苦苦寻觅,没有找到现成的代码,于是,于是,我只能被迫无奈,先自己改改看,既然他需要 ValueFormatter,那我就先给它 new 一个,整一个起码看起来对的。
看似对了
诶?这时候你发现,虽然我 new 对了,但是出现了这种情况:
错!
气煞我也!你要这个,我 get 这个还不行?那叔叔我呐,就要看源码了!鼠标移到这里👇,滚轮点进去!
在这里插入图片描述
在源码的 ValueFormatter.java 中,苦苦寻觅~找到了这个,一看,这个就和前面那个参数一样,在看一下开发人员给的方法描述,好家伙,就它了!接下来,我就在这个基础上修改啦!
java

解决办法:😎😎😎

  • 先给 标签弄个 String 类型的数组,因为啥?你 der 啊,看上面那个图,人家是不是要 String 类型的返回值?
final String[] xLabels = new String[dataFFT.length];
/**
* xLabels 的内容你自己加,我不管了嗷
* */
  • 获取你的 XAxis ,再设置标签。
XAxis xAxis = chart.getXAxis();
xAxis.setValueFormatter(new ValueFormatter() {   //X轴自定义标签内容
            @Override
            public String getAxisLabel(float index, AxisBase axisBase) {
                return xLabels[(int)index];
            }
        });

如果你想改 Y 轴:可以参考一下这篇MPAndroidChart的详细使用——BarChart条形图(二),几乎和 X 轴自定义一模一样,但是注意一下,这篇博文里用的也是错误的代码😣😣。

但是!聪明的你肯定会学以致用,使用上面这种方法吧?!😏😏

OK,打完收工!🤩🤩

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要下载'https://www.jitpack.io/com/github/PhilJay/MPAndroidChart/3.1.0/MPAndroidChart-3.1.0.pom',您可以按照以下步骤进行操作: 1. 在您的Gradle项目中的build.gradle文件中,添加JitPack的Maven仓库。在repositories部分中,使用以下代码添加JitPack的URL: ```groovy repositories { maven { url 'https://jitpack.io' } } ``` 2. 在dependencies部分中,添加对MPAndroidChart的依赖。使用以下代码添加依赖项: ```groovy dependencies { implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' } ``` 3. 同步您的Gradle项目以获取最新的依赖项。 这样,您就可以通过Gradle从'https://www.jitpack.io/com/github/PhilJay/MPAndroidChart/3.1.0/MPAndroidChart-3.1.0.pom'下载MPAndroidChart3.1.0版本了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MPAndroidChart:功能强大的:rocket:Android图表视图图形视图库,支持折线图,条形图,雷达图,气泡图和...](https://download.csdn.net/download/weixin_42164702/14986479)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [解决Failure to find org.glassfish:javax.el:pom:3.0.1-b06-SNAPSHOT](https://blog.csdn.net/qq_26212181/article/details/127171490)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [README.md · jacking119/loc-framework - Gitee.com](https://blog.csdn.net/weixin_42318815/article/details/114318488)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值