Java编程开发之数据图表分析模型
数据统计分析
多曲线图表分析实现
基本需求分析
假设在怪兽出没的年岁,加上年关在即,需要统计分析各个道路卡口车流量出入统计,主要从车流量和车牌地角度出发。如图所示的业务需求:
道路卡口-车流量分析:
道路卡口-车牌地分析:
- 主要从车流量和车牌地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天的数据]
版权声明:本文为博主原创文章,遵循相关版权协议,如若转载或者分享请附上原文出处链接和链接来源。
Java编程开发之数据图表分析模型的更多相关文章
- Java编程开发之浅析Java引用机制
对于一个Java的对象而言,存储主要分为两种,一种是内存堆(Heap),内存堆是无序的,主要用来存放创建的Java对象:一种是内存栈(Stack),主要用来存放Java引用,然后在管理过程使用Java ...
- Java编程开发学习路线图(附所有免费课程+在线自测)
转自 https://yq.aliyun.com/articles/134286?spm=5176.100239.0.0.1UfveS 摘要: 长期以来,Java一直占据TIOBE编程语言排行版第一 ...
- Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...
- Java自学开发编程路线图(文中有资源福利)
Java 语言入门 免费视频资源<毕向东Java基础教程>:http://yun.itheima.com/course/7.html JavaEE 学习大纲 所处阶段 主讲内容 技术要点 ...
- Java开发知识之Java编程基础
Java开发知识之Java编程基础 一丶Java的基础语法 每个语言都有自己的语法规范.例如C++ 入口点是main. 我们按照特定格式编写即可. Java也不例外. Java程序的语法规范就是 Ja ...
- IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化
马哥Linux培训视频课程:http://pan.baidu.com/s/1pJwk7dp Oracle.大数据系列课程:http://pan.baidu.com/s/1bnng3yZ 天善智能BI培 ...
- 【Java编程思想阅读笔记】Java数据存储位置
Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...
- Java后端开发工程师是否该转大数据开发?
撰写我对java后端开发工程师选择方向的想法,写给在java后端选择转方向的人 背景 看到一些java开发工程师,对java后端薪酬太悲观了.认为换去大数据领域就会高工资.觉得java后端没有前途.我 ...
- 大数据揭示的10个常见JAVA编程错误
初学者最常犯的编程错误是什么呢?有可能他们总是混淆等值(==)与赋值(=),或者 & 和 &&:也有可能是他们在循环中使用错误的分隔符(for (int i = 0, i &l ...
随机推荐
- Scala面向对象—类详解2(继承相关)
1.单例类 package com.zzzy class AAA {//单例 /*//java 思路--私有化构造方法,提供公开的getAAA 行不通 private def this(){ this ...
- hdu3516 Tree Construction
Problem Description Consider a two-dimensional space with a set of points (xi, yi) that satisfy xi & ...
- win10 远程桌面 ubuntu
一.获取本机ip 通过ip查询网址来查询本机外网地址 二.下载远程链接软件 下载向日葵,注册账号 三.远程链接 将连接端与被连接端分别绑定账号,输入相应ip地址,即可连接.
- leetcode28 strstr kmp bm sunday
字符串匹配有KMP,BM,SUNDAY算法. 可见(https://leetcode-cn.com/problems/implement-strstr/solution/c5chong-jie-fa- ...
- Leetcode(712)-账户合并
给定一个列表 accounts,每个元素 accounts[i] 是一个字符串列表,其中第一个元素 accounts[i][0] 是 名称 (name),其余元素是 emails 表示该帐户的邮箱地址 ...
- 基于用户的协同过滤的电影推荐算法(tensorflow)
数据集: https://grouplens.org/datasets/movielens/ ml-latest-small 协同过滤算法理论基础 https://blog.csdn.net/u012 ...
- 操作系统 part1
实验好多,人好累... 一.进程和线程 references: 进程三种基本状态 进程和线程的概念.区别和联系 进程和线程的主要区别(总结) 进程间通信IPC 1.进程 进程,是资源分配和调度的基本单 ...
- P3373 线段树2(多重标记线段树)题解
题意: 操作有:区间加,区间乘,区间询问求和 思路: 设一个数为\(m*sum+a\),加就变成了\(m*sum+a+a_2\),乘就变成了\(m*m_2*sum+a*m_2\),所以我们设两个标记\ ...
- 前端架构模式 All In One
前端架构模式 All In One 架构模式 同构 异构 微前端 Web Components 组件化 无框架 去框架 前后端分离 前端架构图 Clean Architecture https://b ...
- CSS multi colors circle
CSS multi colors circle <!DOCTYPE html> <html lang="zh-Hans"> <head> < ...