MpAndroidChart android

问题描述 投票:0回答:1

我使用MpAndroidChart库绘制折线图。

我如下定义了x轴

val xAxis = holder.view.lineChart.xAxis
xAxis.valueFormatter = IndexAxisValueFormatter(weekdays)
xAxis.setLabelCount(4)
xAxis.axisMinimum = 0f
xAxis.axisMaximum = 4f
xAxis.position = XAxis.XAxisPosition.BOTTOM

工作日是ArrayList,它保存日期的当前月份。 (示例当前月份为9月,因此它包含[2,9,16,23,30]。)

x轴已成功定义。

我想根据给定的入口点绘制折线图(x轴属于日期,如何在图形上绘制它?

val values = java.util.ArrayList<Entry>()
values.add(Entry(2f, 80f))
values.add(Entry(10f, 10f))
values.add(Entry(12f, 20f))
values.add(Entry(23f, 30f))
values.add(Entry(30f, 30f))

如何根据位置转换x轴日期?例如:2是0f,9是1f ...,依此类推。

android kotlin mpandroidchart linechart
1个回答
0
投票

您可以如下设置数据,创建键值对条目并将其设置到图表视图上

 List<Entry> entries = new ArrayList<Entry>();
    xAxisDates = [2,9,16,23,30];
    yAxisValues = [0f,1f,...]'
for(int i=0;i<xAxisDates.length;i++){
 entries.add(new Entry(xAxisDates[i], yAxisValues[i]);
}


  LineDataSet dataSet = new LineDataSet(entries, "Dates vs Values"); 
        dataSet.setColor(...);
        dataSet.setValueTextColor(...); // styling, ...
        LineData lineData = new LineData(dataSet);
        holder.view.lineChart.setData(lineData);
        holder.view.lineChart.invalidate(); // refresh
© www.soinside.com 2019 - 2024. All rights reserved.