尝试在我的费用管理器应用中实现LineChart .
以下是调试窗口中的条目:
entries = {ArrayList@5297} size = 5
0 = {Entry@5367} "Entry, x: 11.0 y: 0.0"
1 = {Entry@5368} "Entry, x: 12.0 y: -5.0"
2 = {Entry@5369} "Entry, x: 1.0 y: 0.0"
3 = {Entry@5370} "Entry, x: 2.0 y: 5.0"
4 = {Entry@5371} "Entry, x: 3.0 y: 0.0"
此处,XAxis值表示一年中的月份,YAxis值表示该月的净收入 .
这是我的代码:
List xAxisValues = new ArrayList<>();
//I add xAxis values as listed above
List yAxisValues = new ArrayList<>();
//I add yAxis values as listed above
List entries = new ArrayList<>();
for (int i = 0; i < 5; i++) {
entries.add(new Entry(xAxisValues.get(i), yAxisValues.get(i)));
}
LineDataSet dataSet = new LineDataSet(entries, "Company Net Income");
dataSet.setColor(getActivity().getResources().getColor(R.color.colorAccent));
LineData data = new LineData();
data.addDataSet(dataSet);
final HashMap monthMap = new HashMap<>();
monthMap.put(1, "Jan");
monthMap.put(2, "Feb");
monthMap.put(3, "Mar");
monthMap.put(4, "Apr");
monthMap.put(5, "May");
monthMap.put(6, "Jun");
monthMap.put(7, "Jul");
monthMap.put(8, "Aug");
monthMap.put(9, "Sep");
monthMap.put(10, "Oct");
monthMap.put(11, "Nov");
monthMap.put(12, "Dec");
XAxis xAxis = lineChartMonth.getXAxis();
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return monthMap.get((int)value);
}
});
lineChartMonth.setData(data);
lineChartMonth.invalidate();
但正如你在这里看到的那样
无论它们在List条目中的顺序如何,xaxis值始终为0-12 . 我想x轴值是最后5个月,即11月(11),12月(12),1月(1),2月(2),3月(3) . 请帮帮我 .