MPAndroidChart x轴分钟划分一天

灵感来源:
https://www.it72.com/thread-12280.htm

怎么用MPAndroidChart ,作者就不废话了,网上有很多基础教程。
这里主要解决自定义x轴显示的问题。
我将x轴分为606024=1440 个点。
当我想在360(6:00),720(12:00),1040(18:00)下方显示多少小时。
写如下代码

xAxis.setLabelCount(5);//标签格数
xAxis.setGranularity(1f);//设置最小间隔,防止当放大时,出现重复标签。
  xAxis.setValueFormatter(new ValueFormatter() {
                public String getFormattedValue(float value) {
                    Log.d(TAG, "getFormattedValue: "+ value);
                    if(value%400 ==0){
                        return data.get((int) value - (int) (value / 10)).xAxisValue;
                    }
                    return data.get((int) value ).xAxisValue;
                }
            });

value的值,是0,200,400---->1400。到不了我最终的1440点。这样也只能在200,400,600的点自定义x值。没法在任意的点取值。
之后想法,是认为标签个数将1440平均分割了。但是改来改去都不对。
后面找了很多博客。
最后发现是间隔的问题,这个设置间隔将会影响我可以在x轴上的哪个点去配置,

 xAxis.setGranularity(360f);//设置最小间隔,防止当放大时,出现重复标签。
	xAxis.setLabelCount(5);
	   xAxis.setValueFormatter(new ValueFormatter() {
                public String getFormattedValue(float value) {
                    return data.get((int) value ).xAxisValue;
                }
            });

这样配置下来,就value值,就是我们的360,720了。
所以 xAxis.setGranularity(360f);这个方法是分刻度。暂且这么理解吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值