疫情统计可视化的实现
1.基础介绍
这个作业属于哪个课程 | 2020春|S班 |
---|---|
作业要求 | 疫情统计可视化的实现 |
作业目标 | 结合寒假第一次作业的原型,采用web技术来实现其中的功能 |
结对学号 | 221701215(杨明伟),221701222(陈志达) |
作业正文 | 点击 |
其他参考文献 | 《构建之法》 |
2.成果展示
初始进入界面 出生数据显示日期统计截止2020-01-25:
省份高亮显示,并有相应的提示信息:
点击累计信息按钮,切换到累计信息,湖北累计人数变多:
输入日期信息,更新疫情地图:
3.结对讨论过程描述:
4.设计实现过程:
1.echart实现中国地图和高亮
2.实现页首统计信息
3.创建Data类从文件读取数据
4.使用Data类数据加载地图
5代码说明
1.Data.getTotal()返回全国信息。
public Vector
Vector
Status status = map.get("全国");
int a[] = status.getNum();
for (int i = 0; i < 4; i++) {
total.add(a[i]);}
Random random=new Random(1000);
total.insertElementAt(random.nextInt(100),2);
total.insertElementAt(a[0] + a[2] + a[3],3);
return total;}
2.Data.getUpdate()计算前一期日期,与当前getTotal结果先减。
public Vector
Vector
String string = command[6];
String cmd[] = command;
Calendar c = Calendar.getInstance();
java.util.Date date = null;
try {
date = new SimpleDateFormat("yy-MM-dd").parse(string);
} catch (Exception e) {
e.printStackTrace();
}
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, day - 1);
String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
cmd[6] = dayBefore;
DocFormatter docFormatter = new DocFormatter(cmd);
Excute ex = new Excute(docFormatter);
ex.run();
Map<String, Status> map1 = ex.getMap();
Status s1 = map1.get("全国");
int a[] = s1.getNum();
Vector
for (int i = 0; i < 4; i++) {
temp.add(a[i]);
}
Random random = new Random(1000);
temp.insertElementAt(random.nextInt(100), 2);
temp.insertElementAt(a[0] + a[2] + a[3], 3);
for (int i = 0; i < 6; i++) {
total.add(vec.get(i) - temp.get(i));
}
return total;
}
3.echarts加载中国地图
var myChart = echarts.init(document.getElementById('main'));
var optionMap = {
backgroundColor: '#FFFFFF',
title: {
text: '',
subtext: '',
x:'center'
},
tooltip : {
trigger: 'item'
},
//左侧小导航图标
visualMap: {
show : true,
x: 'left',
y: 'center',
splitList: [
{start: 10000},{start: 1000, end: 9999},
{start: 100, end: 999},{start: 10, end: 99},
{start: 1, end: 9},{start: 0, end: 0},
],
color: ['#690902', '#b61004', '#eb2517','#ef6056', '#ed9791', '#ffffff']
},
//配置属性
series: [{
name: '确诊',
type: 'map',
mapType: 'china',
roam: true,
label: {
normal: {
show: true //省份名称
},
emphasis: {
show: false
}
},
data:mydata //数据
}
]
};
myChart.clear();
//使用制定的配置项和数据显示图表
myChart.setOption(optionMap);
4.调用data方法填入数据
<%
String dates=(String)request.getAttribute("date");
String[] command = { "list", "-log", "E:\echarts\log\", "-out", "F:\holiday\output1.txt", "-date",
"2020-01-25" };
if(dates!=null){
command[6]=dates;
}
Data data = new Data(command);
%>
var mydate=<%=data.getTotal()%>;
var mydata=<%=data.getUpdate()%>;
6.心路历程与收获
原文地址:https://www.cnblogs.com/yangmingwei969/p/12482579.html
- 2.请求安全-- MD5的必要性以及实际应用场景
- 1.请求安全-- 一个简单的 单设备登录 单点登录
- phalapi-进阶篇3(自动加载和拦截器)
- phalapi-进阶篇2(DI依赖注入和单例模式)
- 基于PhalApi的DB集群拓展 V0.1bate
- phalapi-进阶篇1(Api,Domain,和Model)
- 你不知道的Javascript:有趣的setTimeout
- phalapi-入门篇5(数据库操作和Model层)
- HTML5.2新特性解读
- phalapi-入门篇6(小技巧和浅谈API适用范围以及入门篇总结)
- phalapi-入门篇2(把它玩起来)
- phalapi-入门篇3(请求和返回)
- phalapi-入门篇1(简单介绍以及环境搭建)
- 1.开发规范-- 常用的版本控制
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 4.IP地址与子网划分
- 08-软考的法律条文
- Intellij IDEA必备插件,提高效率的“七种武器”!
- Mongodb分页查询优化下
- MySQL 案例:大表改列的新技巧(Generated Column)
- Spark 2.2 on K8S Dynamic Resource Allocation
- Java中异常处理的9个最佳实践
- Mongodb执行计划
- Spark 2.2/2.3/2.4 的 Dynamic Resource Allocation
- 04-操作文件与目录
- 05-命令的使用
- 缓存穿透、缓存击穿、缓存雪崩看这篇就够了,文末还送福利哦!
- 百万并发「零拷贝」技术系列之经典案例Netty
- 什么是大O表示法
- 06-1重定向