Echarts制作一张全球疫情图
一、获取全球疫情数据
1)获取API
使用用友提供的新冠肺炎实时数据,登录注册之后可以免费使用。
2)点击用户信息

这里的AIPCODE,复制并保存,用于后续的使用。
3)API的使用
用友有提供一个 eclipse 的使用说明。

本文采用 IDEA 搭建 Maven 进行使用
1. 首先配置 maven 环境
可以参考 Maven 环境配置,按照配置很简单,记住按照路径即可,方便后续使用
2. 使用 IDEA 新建一个 Maven 项目



3. 在 setting 里更改maven的设置
选为更改下载的 maven 的路径,可能需要安装什么,等待他安装完成即可。

4. 打开Project Structure
更改为本地的JDK,否则可能会提示版本问题。



5. 引入 Jar 包
在 pom.xml 中引入,点击Import Changes,等待安装完成
<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
</dependencies>

6. 新建一个 JAVA Class
将用友提供的疫情全球代码复制进去。

7. 更改APICODE,运行
这里更改为刚刚保存的 API 码即可。

如果代码有错误提示,根据 IDEA 提供的更改建议进行更改。就一处错误。然后运行。
成功获取到数据。

如果出现版本错误,再按刚刚的步骤看一下哪个版本没有更改。

8. 编写一个函数,将获取到的数据进行保存。
在getRequest函数中进行调用。

再次运行,就会发现获得了一个 Cov2019.json 文件
private static void saveDataToFile(String data) {
BufferedWriter writer = null;
File file = new File("cov2019.json");
//如果文件不存在,则新建一个
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//写入
try {
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file,false), "UTF-8"));
writer.write(data);
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(writer != null){
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("文件写入成功!");
}

二、数据处理
数据处理使用 PyCharm 进行。
1. 新建一个项目

2. 搭建一个环境
更改 python 的环境

3. 新建一个 py 文件,并观察 cov2019.json 文件
json 文件主要是层级递进的关系,我们需要的是 country 部分
所以我们可以使用 Json 库进行处理。
在处理的过程中会发现,每个洲其实都有一个 country 部分
所以我们需要先去除每个洲,然后再提取美国国家数据。

4. 编写代码
处理成方便后续可视化的格式。
# -*- coding = utf-8 -*-
# @Time :2021-02-19 0:31
# @Author: LinJH
# @File : DealData.py
# @Software: PyCharm
import json
def DealFile():
with open('../GetData/cov2019.json', 'r', encoding="utf-8")as f:
data = json.load(f)
# print(data)
DealDate(data)
# 初步提取数据
def DealDate(data):
data = data["data"]["continent"]
Asia = data[0]["country"]
Europe = data[1]["country"]
NorthAmerica = data[2]["country"]
SouthAmerica = data[3]["country"]
Africa = data[4]["country"]
Oceania = data[5]["country"]
country = Asia + Europe + NorthAmerica + SouthAmerica + Africa + Oceania
DealCountry(country)
# 数据格式进行处理
def DealCountry(country):
for i in range(len(country)):
name = country[i]["provinceName"]
value = country[i]["confirmedCount"]
ChangeDate(name, value)
countryList = []
LList=[]
def ChangeDate(name, value):
# 读取国家名称中文转英文数据
with open('countryC2E.json', 'r', encoding='utf-8') as f:
c2e = json.load(f)
try:
countryDict = {}
countryDict["name"] = c2e[name]
countryDict["value"] = value
countryList.append(countryDict)
except:
LList.append(name)
# 数据保存
def SaveDate(country):
# DataDict={}
# DataDict["data"] = country
with open("cov2019_deal.json", 'w', encoding="utf-8") as f:
json.dump(country, f)
print("保存成功!")
if __name__ == '__main__':
DealFile()
SaveDate(countryList)
源码地址
三、数据可视化
1)使用模板,直接引入
没做动态加载的,单一视图。

参考资料
GitHub
World Population (2010)
怎么引入org.json的依赖?
Echarts制作一张全球疫情图的更多相关文章
- 全球疫情统计APP图表形式展示
全球疫情统计APP图表展示: 将该任务分解成三部分来逐个实现: ①爬取全球的疫情数据存储到云服务器的MySQL上 ②在web项目里添加一个servlet,通过参数的传递得到对应的json数据 ③设计A ...
- 全球疫情爬取APP版
全球疫情统计APP图表展示: 将该任务分解成三部分来逐个实现: ①爬取全球的疫情数据存储到云服务器的MySQL上 ②在web项目里添加一个servlet,通过参数的传递得到对应的json数据 ③设计A ...
- 使用chart和echarts制作图表
前 言 chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库.它可以帮你用不同的方式让你的数据变得可视化.每种类型的图表都有动画效果,并且看上去非常棒,即便是在retina ...
- python绘制疫情图
python中进行图表绘制的库主要有两个:matplotlib 和 pyecharts, 相比较而言: matplotlib中提供了BaseMap可以用于地图的绘制,但是个人觉得其绘制的地图不太美观, ...
- 用Python绘制全球疫情变化地图
目前全球疫情仍然比较严重,为了能清晰地看到疫情爆发以来至现在全球疫情的变化趋势,我绘制了一张疫情变化地图,完整代码共 230 行,需要的朋友在公众号回复关键字 疫情地图 即可. 废话不多说,先上图 下 ...
- Python 绘制全球疫情地图
国内疫情得到控制后,我就没怎么再关心过疫情,最近看到一条新闻,全球疫情累计确诊人数已经突破 500w 大关,看到这个数字我还是有点吃惊的. 思来想去,还是写一篇全球疫情的分析的文章,本文包括网络爬虫. ...
- 页面制作部分之PS切图
页面制作部分之PS切图 <--本标签下,通过页面制作.页面架构.javascript程序设计.DOM编程艺术.产品前端架构五部分来分享总结笔记,总结笔记会陆续分享--> 网页设计在技术层面 ...
- 【百度地图API】如何制作一张魔兽地图!!——CS地图也可以,哈哈哈
原文:[百度地图API]如何制作一张魔兽地图!!--CS地图也可以,哈哈哈 摘要: 你玩魔兽不?你知道如何做一张魔兽地图不?! 快来看此文吧! ---------------------------- ...
- 如何用 Python 绘制玫瑰图等常见疫情图
新冠疫情已经持续好几个月了,目前,我国疫情已经基本控制住了,而欧美国家正处于爆发期,我们会看到很多网站都提供了多种疫情统计图,今天我们使用 Python 的 pyecharts 框架来绘制一些比较常见 ...
随机推荐
- Spark Dataset DataFrame 操作
Spark Dataset DataFrame 操作 相关博文参考 sparksql中dataframe的用法 一.Spark2 Dataset DataFrame空值null,NaN判断和处理 1. ...
- CSS(简介or选择器)
我们为什么需要CSS? 使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离 在没有CSS之前,我们想要修改HTML元素的样式需要为每个HTML元素单独定义样式属性,当H ...
- 用友GRP-u8 SQL注入
POST /Proxy HTTP/1.1 Accept: Accept: */* Content-Type: application/x-www-form-urlencoded User-Agent: ...
- zabbix监控设备结果异常问题
1.现象描述 paloalto防火墙升级后发现zabbix监控其CPU.风扇等硬件信息和端口流量数据错误. 2.现象分析 由于zabbix并没有做过任何调整,防火墙也只是升级.根据现象并不好排查.但是 ...
- (27)Vim 3
Vim移动光标快捷键汇总1.Vim快捷方向键 h 光标向左移动一位 j 光标向下移动一行(以回车为换行符),也就是光标向下移动 k 光标向上移动一行(也就是向上移动) l 光标向右移动一位2.Vim光 ...
- LInux-Lamp搭建
LInux-Lamp搭建 一 yum安装(自动会下载依赖包) (一)mysql安装 检测是否安装: yum list installed mysql* rpm -qa | grep mysql* 安装 ...
- linux(11)配置环境变量
前言 在自定义安装软件的时候,经常需要配置环境变量,下面进行详细解析 & nbsp; 环境变量配置文件 用户 配置文件 系统环境 /ect/profile /etc/bashrc /etc/e ...
- Hadoop----hdfs dfs常用命令的使用
用法 -mkdir 创建目录 Usage:hdfs dfs -mkdir [-p] < paths> 选项:-p 很像Unix mkdir -p,沿路径创建父 ...
- MySQL常用SQL语句1
-- 创建表 CREATE TABLE USER ( -- id默认每个表都该拥有(非空 不重复) -- (id是每一行的唯一标识) -- 其他字段可能会重复,我们无法依赖其他的字段去确定某一行记录 ...
- 【poj 1961】Period(字符串--KMP 模版题)
题意:给你一个字符串,求这个字符串到第 i 个字符为止的重复子串的个数. 解法:判断重复子串的语句很重要!!if (p && i%(i-p)==0) printf("%d % ...