首页 > 解决方案 > 图表 - 使用 Mp 图表

问题描述

在此处输入图像描述

我需要像我上传的图像一样绘制图形,我正在使用 MP 图表库并开发一个图形,但想根据我的要求对其进行自定义,但无法找到满足我要求的解决方案我的基本要求是我想要的 x 轴在轴上显示自定义值,如 5-11 12-18,但我将值传递给 x 轴,如下所示

private ArrayList<String> setXAxisValues() {
        ArrayList<String> xVals = new ArrayList<String>();
        xVals.add("10");
        xVals.add("20");
        xVals.add("30");
        xVals.add("30.5");
        xVals.add("40");

        return xVals;
    }

所以它显示了 x 值,例如 10 20 30 等等,所以我希望我的图表建立在使用这些 x 值的基础上,这些 x 值正在发生,但希望在底部显示自定义值,如 5-11 等,这个值是动态的来自 Api 响应,所以请帮助我,等待积极和早期的响应,在此先感谢

标签: androidandroid-layoutgraphcharts

解决方案


要格式化 x 轴值,您应该使用setValueFormatter带有回调接口的方法,如果您必须实现getFormattedValue在绘制 x 轴值之前调用的方法。

xAxis.setValueFormatter((value, axis) -> {
        String res = "";
        try {
            // get current position of x-axis
            int currentPosition = (int) value;
            // check if position between array bounds
            if (currentPosition > -1 && currentPosition < maxSize) {
               // get value from formatted values array
               res = xVals.get(currentPosition);
            }
        } catch (Exception e) {
            // handle exception
        }
        return res;
    });

推荐阅读