貝塞爾曲線之折線加日期選擇器
阿新 • • 發佈:2018-12-19
由於客戶需求要做曲線圖,還要能選擇不同日期來顯示不同日期的曲線。無奈只能硬著頭皮去嘗試解決。
-
修改 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)原創文章,轉載請註明出處。