如何在 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());
我通过 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());