Android MpChart新版本如何设置横坐标

老版本设置横坐标只需要在LineData构造函数里面传入一个字符串数字就可以了。

LineData data = new LineData(xList, dataSets);

但是新版MpChart的LineData删除了这个方法,如果想保持原有逻辑,可以这样实现:

        XAxis xAxis = lineChart.getXAxis();
        //x轴显示在底部 默认为顶部
        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
        //隐藏竖向网格线
        xAxis.setDrawGridLines(false);
        //设置x轴最小值  默认为0
        xAxis.setAxisMinimum(0f);
        //设置x轴最大值  不设置会自动生成 
        xAxis.setAxisMaximum(xList.size() - 1);
        //设置x轴最小间隔
        xAxis.setGranularity(1f);
        //设置x轴显示的条目数量 默认为6(不建议设置 设置多了容易挤在一起)
        //xAxis.setLabelCount(xList.size());
        //设置x轴标签显示在每个区域的中间(除特定情况不建议设置,数据会不对齐)
        //xAxis.setCenterAxisLabels(true);

        //设置x轴生成规则 value在AxisMinimum与AxisMaximum之间 return为索引对应的展示内容(String) 
        xAxis.setValueFormatter(new ValueFormatter() {
            @Override
            public String getFormattedValue(float value) {
                try {
                    return xList.get((int) value);
                } catch (Exception e) {
                    return (int) value + "";
                }
            }
        });

如果不想将x轴直接设置一个固定的list,可以重写ValueFormatter的规则。

猜你喜欢

转载自blog.csdn.net/go12355/article/details/128639912