0 值的 MPAndroidChart 垂直轴

MPAndroidChart vertical axis for 0 values

我正在尝试用一些值填充垂直条形图。我仍然想保留等于 0 的值作为条目。但是,当存在等于 0 的现有条目时,图表看起来很可疑。

第一张图片显示了如果所有条目都不为零时图表的外观。enter image description here 第二张图片显示了如果条目等于 0 时图表的外观。enter image description here(图表在垂直轴上并不完全从 0 开始,它在下方) 第三张图片显示了如果所有条目都为零时图表的样子。enter image description here(如您所见,图表从垂直轴上的 -1 开始)

有没有办法让它看起来像第一张图片,尽管值为 0?

我发现了如何实现从零开始,即使每个值都是 0。在下面的代码中,我注释了所有内容:

public class MainActivity extends AppCompatActivity {

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        BarChart barChart = findViewById(R.id.bar_chart);

        ArrayList<BarEntry> inventory = new ArrayList<>();
        inventory.add(new BarEntry(1f,0));
        inventory.add(new BarEntry(2f,10));
        inventory.add(new BarEntry(3f,20));
        inventory.add(new BarEntry(4f,30));
        inventory.add(new BarEntry(5f,40));
        
        //Colors & Textsize
        
        BarDataSet barDataSet = new BarDataSet(inventory,"Inventory");
        barDataSet.setColors(ColorTemplate.COLORFUL_COLORS);
        barDataSet.setValueTextColor(Color.BLACK);
        barDataSet.setValueTextSize(16f);
        
        //Start at zero even all values are 0 for left YAxis.
        YAxis yAxis = barChart.getAxis(YAxis.AxisDependency.LEFT);
        yAxis.setStartAtZero(true);

        //Start at zero even all values are 0 for right YAxis.
        YAxis yAxis1 = barChart.getAxis(YAxis.AxisDependency.RIGHT);
        yAxis1.setStartAtZero(true);

        //Define every space between the scales you want to.
        XAxis xAxis = barChart.getXAxis();
        xAxis.setGranularity(1.0f);
        xAxis.setGranularityEnabled(true);

        /*
        //Disables the right YAxis (Optional)
        YAxis rightYAxis = barChart.getAxisRight();
        rightYAxis.setEnabled(false);*/
        
        //Other Settings
        BarData barData = new BarData(barDataSet);
        barChart.setData(barData);
        barChart.getDescription().setEnabled(false);
        barChart.getLegend().setEnabled(false);
        barChart.animateX(500);

    }
}

如果您想进一步定制,我建议您查看 documentation

结果