首页 > 解决方案 > 我想以 HH: mm 格式显示 x 轴标签

问题描述

我正在使用带有 mpandroidchart 的图形。

最终目标是以 HH:mm 格式显示 x 轴标签。

我调用的数据数据结构在x轴上是java.time.Instant类型,y是作为double类型导入的。

1.尝试添加到entry(x,y)时出现转换问题。我不知道如何解决它。我的代码

  getDataFromInflux("-24h", "1h", "pressure", serialNo, { x, y, loc ->
        Dlog.d("$x") // ex:2021-04-12T10:00:00Z
        Dlog.d("$y") // ex:139.12210569105687
        Dlog.d("$loc") //loc: String 
        
        map["$loc"]!!.add(Entry(x,y)) // problem

}
  1. 如果有多个条目,请告诉我如何根据 x 轴上的数据将其更改为 valuefomatter HH:mm 格式。

我的代码

 val xAxis = binding.chartReportTemperature.xAxis // x축
    xAxis.apply {
        valueFormatter = ValueFormatter(xValsDateLabel) <- problem
        position = XAxis.XAxisPosition.BOTTOM 
        textColor = Color.WHITE
        labelCount = 
    }



class ValueFormatter(private val xValsDateLabel: ArrayList<String>) : ValueFormatter() {

override fun getFormattedValue(value: Float): String {
    return value.toString()
}

override fun getAxisLabel(value: Float, axis: AxisBase): String {
    if (value.toInt() >= 0 && value.toInt() <= xValsDateLabel.size - 1) {
        return xValsDateLabel[value.toInt()]
    } else {
        return ("").toString()
    }
}

}

我已经两天没解决了。请。

标签: androidkotlinmpandroidchart

解决方案


推荐阅读