最近要做个简单的折线图,选用MPCHART三方控件。
要实现根据当前时间显示之前的折线,下图为13时显示图,
点击圆圈只显示当前数量。
github:https://github.com/PhilJay/MPAndroidChart
效果图:
1.build.gradle导入:
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
2.Activity初始化Chart
@BindView(R.id.flowChart)
LineChart lineChart;
public void onChartBean(List<Bean> dataList) {
//设置X轴坐标
lineChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
lineChart.getXAxis().setGranularity(1);
lineChart.getXAxis().setAxisLineColor(R.color.chart_axis);
lineChart.getXAxis().setAxisMinimum(0);
lineChart.getXAxis().setAxisMaximum(dataList.size() - 0.9f);
lineChart.getXAxis().setTextColor(R.color.chart_axis_text);
//设置左边Y轴坐标
lineChart.getAxisRight().setEnabled(false);
lineChart.getAxisLeft().setAxisMinimum(0);
lineChart.getAxisLeft().setAxisLineColor(R.color.chart_axis);
lineChart.getAxisLeft().setDrawGridLines(false);//不显示横网格线
lineChart.getAxisLeft().setTextColor(R.color.chart_axis_text);
//设置显示左上角 -辆
lineChart.getLegend().setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
lineChart.getLegend().setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);
lineChart.getLegend().setForm(Legend.LegendForm.LINE);
lineChart.getLegend().setTextColor(R.color.chart_axis_text