MPAndroidChart图表折线图X轴数据显示问题

MPAndroidChart 专栏收录该内容
1 篇文章 0 订阅

最近开发使用到折线图,

想要的效果是这样的:看下图

做完之后发现是这样的: 看下图

问题点:数据没有平均占满图表,右边空出一块不太好看

好在经过多次测试终于发现是哪里引起的,然后做出了第一张图的效果,

xAxis.setAxisMaximum(xData.size());//设置x轴的自定义最大值

我在xAxis.setAxisMaximum()填的是我存放数据名称的集合的size,

当我的size 是3的时候X轴显示的是 0、1、2、3

我要的X轴显示应该是0、1、2才对呀

然后我就在xAxis.setAxisMaximum(xData.size()-1);减1 就可以

可是当我集合的size只有一条的时候又出问题了 value是-1 ,又报错。

xAxis.setValueFormatter(new ValueFormatter() {
    @Override
    public String getFormattedValue(float value) {
//value等于-1
       if (xData.size()>(int)value){
           return xData.get((int)value);
       }
        return "";
    }
});

然后我的解决方法是对数据集合做了一个判断

int size;
if (xData.size()==1){
    size=1;
}else {
    size=xData.size()-1;
}
xAxis.setAxisMaximum(size);//设置x轴的自定义最大值

在xAxis.setValueFormatter()也做一个判断如下

xAxis.setValueFormatter(new ValueFormatter() {
    @Override
    public String getFormattedValue(float value) {
       if (xData.size()>(int)value){
           return xData.get((int)value);
       }
        return "";
    }
});

问题解决,当只有一条数据的时候getFormattedValue 还是会return一次" ",但这不影响,当数据只有0条的时候图表就显示无数据就可以了

 

 

 

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值