資料統計分析
多曲線圖表分析實現
基本需求分析
假設在怪獸出沒的年歲,加上年關在即,需要統計分析各個道路卡口車流量出入統計,主要從車流量和車牌地角度出發。如圖所示的業務需求:
道路卡口-車流量分析:
道路卡口-車牌地分析:
- 主要從車流量和車牌地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天的資料]
版權宣告:本文為博主原創文章,遵循相關版權協議,如若轉載或者分享請附上原文出處連結和連結來源。