XAxis 标签在 MPAndroidChart 中绘制不正确

XAxis labels not drawn properly in MPAndroidChart

我用库MPAndroidChart画了条形图。

我遇到以下问题: 当我的图表中有超过 4 或 5 个柱时,x 标签未正确绘制。

我该如何解决这个问题?

我建议您增加轴标签之间的 space:

xAxis.setSpaceBetweenLabels(...);

或者您通常减少标签的长度,例如只有前两个字母或类似的东西。

增加标签之间的 space 可以使标签偏离条形中心位置,但是您可以尝试间距。

如果间距没有给您预期的结果,请使用此函数省略标签。

public static String ellipsize(String input, int maxCharacters) {
    if (input == null || input.length() < maxCharacters) {
        return input;
    }
    return input.substring(0, maxCharacters - 3) + "...";
}

并实现 IAxisValueFormatter 以获取格式化文本

xAxis.setValueFormatter(new IAxisValueFormatter() {
            @Override
            public String getFormattedValue(float v, AxisBase axisBase) {
                if((int)v != -1 && (int)v < xAxisValues.size())
                    return ellipsize(xAxisValues.get((int)v),10);
                else
                    return "";
            }
        });