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 框架来绘制一些比较常见 ...
随机推荐
- Typora使用与GItHhub图床配置
Typora使用 (windows) 1 快捷键 1.1 表格 快捷方式:CTRL+T ID name year 1 Oracle 10 2 Mysql 10 3 Postgresql 20 1.2 ...
- js异步、事件循环(EventLoop)小结
单线程 众所周知,JS是单线程的语言,之所以是单线程,用一句烂大街的话就是,如果两个线程同时操作一个DOM节点,那么该以哪个为准呢,虽然多线程也有办法解决,但是js毕竟是浏览器脚本语言,不需要那么复杂 ...
- HTML5 网页制作技巧
本文总结自由人民邮电出版社出版的<HTML.CSS.Javascript网页制作>. 总结进行学习,并分享给同样编写HTML5的朋友. 1:背景音乐的添加 <embed src=&q ...
- C链表-C语言入门经典例题
struct student { long num; float score; struct student *next; }; 注意:只是定义了一个struct student类型,并未实际分配存储 ...
- 调用个别f5 负载端口为80的vs时,返回值为空的问题
现状: vs负载端口为80并添加XFF,pool包含2个member,member的monitor端口为80&9000. 故障现象: 应用同事描述说再完全复制了一个member并添加到pool ...
- Mysql:好好的索引,为什么要下推?
前段时间有读者提议讲讲索引下推,这期就把这事儿安排上.多余的前言就不赘述了,我们直接开始. 列位坐好! 图注:思维导图 回表操作 对于数据库来说,只要涉及到索引,必然绕不过去回表操作.当然这也是我们今 ...
- Flink 在又拍云日志批处理中的实践
日前,由又拍云举办的大数据与 AI 技术实践|Open Talk 杭州站沙龙在杭州西溪科创园顺利举办.本次活动邀请了有赞.个推.方得智能.又拍云等公司核心技术开发者,现场分享各自领域的大数据技术经验和 ...
- javascript脚本何时会被执行
javascript脚本可以嵌入在html内的任意地方,但它何时被调用呢?当浏览器打开HTML文件后,会直接运行不是声明函数的脚本或通过事件调用脚本函数,下面分析这几种情况. 1.浏览器在打开页面时执 ...
- 环境变量设置,为什么要设置,tomcat的为什么不用设置?
在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...
- NodeMCU获取并解析心知天气信息
NodeMCU获取并解析心知天气信息 1 注册心知天气并获取私钥 打开心知天气网站,点击注册按钮 填写基本信息注册心知天气账号,登录注册所填写的邮箱点击链接进行账号激活,随后出现如下界面 点击登录按钮 ...