我需要创建一个图表,以时间为x轴,面积为y轴。该程序将在一定的时间差记录活动数据并在图表中显示数据,类似于这个-> https://istack.dev59.com/s4MiC.webp 但是每两个柱之间的颜色会交替以对应不同的活动。我尚未找到使用MPAndroidChart实现此操作的方法,每个条目似乎都有固定的宽度。如果有人知道如何使用MPAndroidChart或其他开源库来实现此功能,将不胜感激,谢谢!
编辑: 这是我一直在努力处理的代码:
编辑: 这是我一直在努力处理的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_data_report);
BarChart barChart = (BarChart) findViewById(R.id.barChart);
List<BarEntry> entries = generateBarEntries();
BarDataSet set = new BarDataSet(entries, "BarDataSet");
BarData data = new BarData(set);
barChart.setData(data);
}
private List<BarEntry> generateBarEntries() {
List<BarEntry> entries = new ArrayList<>();
for (int i = 0; i < timeValues.size(); i++) {
float x = timeValues.get(i);
float y = areaValues.get(i);
entries.add(new BarEntry(x, y));
}
return entries;
}
timeValues是一个包含以秒为单位的值的ArrayList,例如[3, 9, 21, 26, 33],而areaValues也是一个ArrayList,其大小与timeValues相同,每个值目前都是30(即[30, 30, 30, 30, 30])。