Android:如何使用MPAndroidChart在x轴上整齐地格式化日期/时间?

时间:2018-07-23 22:32:15

标签: android datetime mpandroidchart

我正在使用MP Android图表库在x轴上绘制数据,并具有Unix时间戳。即使考虑到数据本身被四舍五入到最接近的日期或时间(取决于数据范围),我的x轴都细分为分钟。它显示的值类似于“ 22.07 19:37”。太糟糕的MpAndroidChart无法处理漂亮的日期。

我希望x轴做什么:

  • 在年份跨度的情况下,在每月的1号;
  • 如果是月或周跨度,则在一天的开始时
  • 在一天中的任何一个小时(##:00)(不是全部);
  • 在一个小时跨度的任何5分钟点上。

(这些要求是从this question复制而来,从未解决。)

这是我到目前为止所拥有的:

onCreate(或任何其他方式):

LineDataSet dataSet = new LineDataSet(entries, "label x"); // add entries to dataset
LineData lineData = new LineData(dataSet);
chart.setData(lineData);

XAxis xAxis = chart.getXAxis();
xAxis.setValueFormatter(new DateAxisFormatter(chart));

chart.invalidate(); // refresh

DateAxisFormatter类

public class DateAxisFormatter implements IAxisValueFormatter {

    private Chart chart;

    public  DateAxisFormatter( Chart chart ) {

        this.chart = chart;
    }

    @Override
    public String getFormattedValue(float value, AxisBase axis) {

        String result = "";
        Date date = new Date((long) value);
        SimpleDateFormat prettyFormat = new SimpleDateFormat("dd.MM H:mm");
        prettyFormat.setTimeZone(TimeZone.getDefault());
        result = prettyFormat.format(date);

        return result;
    }
}

我该如何与之约会呢?

0 个答案:

没有答案