我正在使用 MpAndroidChart ,除了一个问题外,它的进展非常顺利。当我放大图表的特定区域时,X值会以聚集的方式多次出现。我覆盖X axis setValueFormatter
(下面的代码和一些图片)以显示从输入数据返回的日期。有没有人发生这种情况,如果是这样,你知道它的原因吗?我正在考虑禁用zoomable选项,但我更愿意拥有它。谢谢!
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;
}
});
答案 0 :(得分:3)
如果要删除额外标签,可以使用粒度功能。例如,如果条形图是基于索引的,则以下内容应该起作用:
bottomAxis = mBarChart.getXAxis();
bottomAxis.setGranularity(1f);
bottomAxis.setGranularityEnabled(true);
注意:这对于在此库的新版本3.0.0
中使用LabelFormatter
或类似内容时删除重复的标签特别有用。
另外,有关粒度功能的详细信息,请参阅this answer。