给出奇怪x轴值的MPAndroidChart

给出奇怪x轴值的MPAndroidChart,android,mpandroidchart,Android,Mpandroidchart,我正在开发健身应用程序,我想在其中显示用户数月来的跑步活动图表,如下所示: 我使用了MPAndroidChart,但是我在x轴上得到了一些奇怪的值(y轴没问题) 我有一个地图(代码示例中的monthmilage),其中键是字符串中的月份和年份,因此,例如Jul 2020为“072020”,该值是用户当月运行的总公里数 profileViewModel.monthOverview.observe(viewLifecycleOwner, Observer { monthMileage ->

我正在开发健身应用程序,我想在其中显示用户数月来的跑步活动图表,如下所示:

我使用了MPAndroidChart,但是我在x轴上得到了一些奇怪的值(y轴没问题)

我有一个地图(代码示例中的monthmilage),其中键是字符串中的月份和年份,因此,例如Jul 2020为“072020”,该值是用户当月运行的总公里数

profileViewModel.monthOverview.observe(viewLifecycleOwner, Observer { monthMileage ->
            val entries = ArrayList<BarEntry>()
            for ((k, v) in monthMileage) {
                entries.add(BarEntry(k, v.toFloat()))
            }
            val dataSet = BarDataSet(entries, "Monthly mileage")
            val barData = BarData(dataSet)
            activity_graph.xAxis.labelCount = entries.size
            activity_graph.xAxis.valueFormatter = ActivityGraphFormatter()
            activity_graph.axisRight.axisMinimum = 0.toFloat()
            activity_graph.axisLeft.axisMinimum = 0.toFloat()
            activity_graph.data = barData
            activity_graph.invalidate()
        })
profileViewModel.monthhoverview.observe(viewLifecycleOwner,observator{monthMileage->
val entries=ArrayList()
对于((k,v)个月){
entries.add(BarEntry(k,v.toFloat()))
}
val数据集=BarDataSet(条目,“月里程”)
val barData=barData(数据集)
activity_graph.xAxis.labelCount=entries.size
activity_graph.xAxis.valueFormatter=ActivityGraphFormatter()
activity_graph.axisRight.axisMinimum=0.toFloat()
活动\u graph.axisLeft.axisMinimum=0.toFloat()
活动\图形数据=barData
activity_graph.invalidate()
})
这就是我试图将数据设置到条形图的方式。x值是要浮动的月-年字符串,y是总距离。我使用自定义值格式化程序,这看起来很奇怪,但应该使用正确的值(即使我不使用格式化程序,这些值仍然是错误的,所以可能在其他地方有错误)。在整个过程中,条目、数据集和数据中的值仍然是我期望的值,但是当它设置为图形时,它就是错误的

例如72020和62020,我得到65000和70000


可能有一些我看不到的相关性,所以我欢迎所有的建议,或者如果有人知道android移动应用程序的一些更好的图表库,我一直在搜索,但所有人都在称赞MPAndroidChart。

Hi@Fukalhan!您已经提到您正在使用自定义x轴值格式化程序。你能分享一下吗?嗨@Fukalhan!您已经提到您正在使用自定义x轴值格式化程序。你能分享一下吗?