MpAndroidChart zoom 字符串值错误

MpAndroidChart zoom String value error

我正在使用 MpAndroidChart,除了一个问题外,一切都很顺利。当我放大图形的特定区域时,X 值以聚集的方式出现多次。我重写 X axis setValueFormatter(下面的代码和一些图片)以显示从输入数据返回的日期。有没有人遇到过这种情况,如果有,您知道原因吗?我正在考虑只禁用可缩放选项,但我更愿意拥有它。谢谢!

bottomAxis.setValueFormatter(new AxisValueFormatter() {
        @Override
        public String getFormattedValue(float value, AxisBase axis) {
            // return values will all be the values of the dates array
            int value_i = (int) value;
            if (value_i % 2 == 0 && (value_i / 2) <= epochs.length && value_i >= 2) {
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(eu.getDailyInfo().getEpochValues()[(value_i/2)-1]);
                return (assignMonth(calendar.get(Calendar.MONTH)) + "" + String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)));
            } else {
                return "";
            }
        }

        @Override
        public int getDecimalDigits() {
            return 0;
        }
    });

如果您想删除多余的标签,可以使用粒度功能。例如,如果您的条形图是基于索引的,则以下内容应该有效:

bottomAxis = mBarChart.getXAxis();
bottomAxis.setGranularity(1f);
bottomAxis.setGranularityEnabled(true);

注意:这对于在本库的新版本 3.0.0 中使用 或类似标签时删除重复标签特别有用。

另外,请参阅 this answer 了解有关粒度功能的更多信息。