數據統計分析
多曲線圖表分析實現
基本需求分析
假設在怪獸出沒的年歲,加上年關在即,需要統計分析各個道路卡口車流量出入統計,主要從車流量和車牌地角度出發。如圖所示的業務需求:
道路卡口-車流量分析:
道路卡口-車牌地分析:
- 主要從車流量和車牌地2個緯度去分析與統計對應的流量數據
- 橫向與縱向分析:X軸和Y軸各自有3條曲線[總數=進關數+出關數]
- 不同的時間緯度:按天統計[默認當天以及最近30天]和按月統計
- 不同道路卡口統計:不同卡口以及卡口組統計數據
業務需求分析
道路卡口-車流量分析
- 統計時間維度:按天統計[最近30天和當前某天的統計數據]和按月統計
- 橫向對比分析:以採集時間爲X軸,展示某一天的整點和半小時時刻的車輛進關與出關數量,以及車流量總數
- 縱向對比分析:以車流量爲Y軸,展示某一天的整點和半小時時刻的車輛進關與出關數量,以及車流量總數
- 圖表數據指標:車流量總數, 進關暑數量以及出關數量
道路卡口-車牌地分析
- 統計時間維度:按天統計[最近30天和當前某天的統計數據]和按月統計
- 橫向對比分析:以車牌歸屬地爲X軸,展示對應所屬地區的相關車輛進關與出關數量,以及車流量總數
- 縱向對比分析:以車流量爲Y軸,展示對應所屬地區的相關車輛進關與出關數量,以及車流量總數
- 圖表數據指標:車流量總數, 進關暑數量以及出關數量
- 數據排序:按照風險等級排序,對應的車牌流量分析
編碼邏輯分析與實現
- 定義圖表分析數據模型[Analysis Model]
// 定義數據模型
Map<String, Object> dataModel =Maps.newConcurrentMap();
// 定義X與Y軸數據模型
Map<String, Object> dataMap = Maps.newConcurrentMap();
// 車流量總數
dataModel.put("total", dataMap);
// 進關總數
dataModel.put("enter", dataMap);
// 出關總數
dataModel.put("leave", dataMap);
- 確定X軸與Y軸座標系數據:
// 定義X與Y軸數據模型
Map<String, Object> dataMap = Maps.newConcurrentMap();
// 定義X軸數據模型
List<String> xList = Lists.newLinkedList();
// 定義Y軸數據模型
List<Object> yList = Lists.newLinkedList();
// 定義指標數據模型
BigDecimal count = BigDecimal.ZERO;
// .... ToDO 業務代碼實現
dataMap.put("xAxis",xlist);
dataMap.put("yAxis",yList);
dataMap.put("count",count.intValue());
[⚠️注意事項] 1.上述模型屬於複合型數據分析列表數據模型 2.簡單數據模型分析,一般只用:
// 定義X與Y軸數據模型
Map<String, Object> dataMap = Maps.newConcurrentMap();
// 定義X軸數據模型
List<String> xList = Lists.newLinkedList();
// 定義Y軸數據模型
List<Object> yList = Lists.newLinkedList();
// .... ToDO 業務代碼實現
dataMap.put("xAxis",xlist);
dataMap.put("yAxis",yList);
餅狀圖表分析實現
假設在怪獸出沒的年歲,加上年關在即,需要統計分析各個道路卡口車流量出入的佔比,主要從風險等級和風險區角度出發。如圖所示的業務需求:
風險等級分析
- 主要從風險等級[高,中,低]統計分析數據的佔比
- 統計時間維度:按照天統計[當天],按照周統計[最近七天]以及按照月統計[最近30天的數據]
風險區域比例
- 主要從風險區域維度統計車牌歸屬地分析數據的佔比
- 統計時間維度:按照天統計[當天],按照周統計[最近七天]以及按照月統計[最近30天的數據] 版權聲明:本文爲博主原創文章,遵循相關版權協議,如若轉載或者分享請附上原文出處鏈接和鏈接來源。