参考链接:https://blog.youkuaiyun.com/u014608640/article/details/82145497
时间选择器参考链接:https://www.cnblogs.com/woaixingxing/p/6872198.html
由于代码涉及公司数据隐私,现提供原博主的GitHub地址:https://github.com/jeanboydev/Android-LineChart 并致以感谢。
由于客户需求要做曲线图,还要能选择不同日期来显示不同日期的曲线。无奈只能硬着头皮去尝试解决。
-
修改 Y 轴标尺间隔
lineChartView.setRulerYSpace(value);
-
修改 X 轴标尺间隔(锚点间距)
lineChartView.setStepSpace(value);
-
设置是否显示表格
lineChartView.setShowTable(isShowTable);
-
设置是否为贝塞尔曲线
lineChartView.setBezierLine(isBezier);
-
设置锚点是否为方形
lineChartView.setCubePoint(isCube);
-
播放动画
lineChartView.playAnim();
7.横轴显示当前和历史日期
stringList.clear();
for(int i=0;i<infoList.size();i++){
DataInfo dataInfo = new DataInfo();
dataInfo.setReceivingTime(infoList.get(i).getReceivingTime());
stringList.add(dataInfo.getReceivingTime());
}
lineChartView.setLinePoints(stringList);
8.纵轴显示后台返回实时数据
datas.clear();
for(int i=0;i<infoList.size();i++){
DataInfo dataInfo = new DataInfo();
dataInfo.setData(infoList.get(i).getData());
LineChartView.Data data = new LineChartView.Data(Integer.parseInt(dataInfo.getData()));
datas.add(data);
}
lineChartView.setData(datas);
9.横纵轴实时数据为空时,用假数据填充
List<String> jialist = new ArrayList<>();
jialist.add("60000000032xx1325");
jialist.add("12345612365xx2145");
private int[] jiaYlist = new int[]{15,15};
for (int value : jiaYlist) {
LineChartView.Data data = new LineChartView.Data(value);
datas.add(data);
}
10.绘制横轴所有时间文本(由于手机屏幕太小,不方便显示具体时间,故而采取截取字符串形式)
drawRulerXText(canvas, list.get(i).substring(11,13)+"时",linePoints[i].x, 0);
注意事项:
(1)非空判断。(横轴纵轴是一一对应关系)
(2)时间参数。(new Date()仅表示当前时间)
(3)原创文章,转载请注明出处。