如何在 mpandroidchart 上设置自定义值 axisLeft

How to set custom value axisLeft on mpandroidchart

我通过 MPAndroidChart:v3.0.3 创建了一个条形图。正如你在我的图片上看到的

在 AxisLeft 上,有一个大数字。这是我的代码:

YAxis yAxis = mBinding.barChartIncome.getAxisLeft();
yAxis.setDrawGridLines(true);
yAxis.setPosition(YAxis.YAxisLabelPosition.OUTSIDE_CHART);
yAxis.setSpaceTop(15f);
yAxis.setTextSize(12f);
yAxis.setAxisMinimum(1f);
yAxis.setLabelCount(10, false);

现在,我想将这些大数字分成 1,000,000,然后显示在图表上?我该怎么做?

为此你需要 IAxisValueFormatter。创建 class 来实现它:

public class MyYAxisValueFormatter implements IAxisValueFormatter {
        @Override
        public String getFormattedValue(float value, AxisBase axis) {
            return String.valueOf(value/1000000);  // Format value, and get any string here
        }
}

并将其设置为图表的轴:

chart.getAxisLeft().setValueFormatter(new MyYAxisValueFormatter());