MPAndroidChart设置部分显示x坐标,滑动显示全部x坐标

项目场景:

项目场景:设置MPAndroidChart显示部分x坐标


问题描述

MPAndroidChart设置后,滑动最后一个坐标 12 不显示

代码:

        //实例化
        mLineChart = findViewById(R.id.lineChart);
        
        List<Entry> entries = new ArrayList<Entry>();
        // 循环你的数据,向图表中添加点
        for (int i = 0; i < 13; i++) {
            entries.add(new Entry(i,i * 1000));
        }
        // 图表绑定数据,设置图表折现备注
        LineDataSet dataSet = new LineDataSet(entries, "Label"); 
        LineData lineData = new LineData(dataSet);
        //图表标题
        Description description = mLineChart.getDescription();
        description.setText("历史数据折线图");
        // 图表绑定数据值
        mLineChart.setData(lineData);
        //显示范围
        mLineChart.setVisibleXRangeMaximum(4f);
        XAxis xAxis = mLineChart.getXAxis();
        // 设置X轴坐标之间的最小间隔
        xAxis.setGranularity(1);
        // 设置X轴坐标最小值
        xAxis.setAxisMinimum(0f);
        //关闭右侧y轴
        mLineChart.getAxisRight().setEnabled(false);
        //设置左侧y轴最大值
        mLineChart.getAxisLeft().setAxisMaximum(15000);
        // 刷新图表
        mLineChart.invalidate();

原因分析:

设置MPAndroidChart显示部分x坐标

MPAndroidChart的设置左侧y轴最大值和设置右侧y轴不显示,进而导致最后一个坐标 12 不显示。


解决方案:

设置X轴坐标最大值,在数据的大小再加上0.1f,就可以显示全部x坐标

代码:

        //实例化
        mLineChart = findViewById(R.id.lineChart);
        
        List<Entry> entries = new ArrayList<Entry>();
        // 循环你的数据,向图表中添加点
        for (int i = 0; i < 13; i++) {
            entries.add(new Entry(i,i * 1000));
        }
        // 图表绑定数据,设置图表折现备注
        LineDataSet dataSet = new LineDataSet(entries, "Label"); 
        LineData lineData = new LineData(dataSet);
        //图表标题
        Description description = mLineChart.getDescription();
        description.setText("历史数据折线图");
        // 图表绑定数据值
        mLineChart.setData(lineData);
        //显示范围
        mLineChart.setVisibleXRangeMaximum(4f);
        XAxis xAxis = mLineChart.getXAxis();
        // 设置X轴坐标之间的最小间隔
        xAxis.setGranularity(1);
        // 设置X轴坐标最小值
        xAxis.setAxisMinimum(0f);

        // 设置X轴坐标最大值
        xAxis.setAxisMaximum(12.1f);

        //关闭右侧y轴
        mLineChart.getAxisRight().setEnabled(false);
        //设置左侧y轴最大值
        mLineChart.getAxisLeft().setAxisMaximum(15000);
        // 刷新图表
        mLineChart.invalidate();
  • 13
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谁呛我名字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值