一、获取全球疫情数据

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制作一张全球疫情图的更多相关文章

  1. 全球疫情统计APP图表形式展示

    全球疫情统计APP图表展示: 将该任务分解成三部分来逐个实现: ①爬取全球的疫情数据存储到云服务器的MySQL上 ②在web项目里添加一个servlet,通过参数的传递得到对应的json数据 ③设计A ...

  2. 全球疫情爬取APP版

    全球疫情统计APP图表展示: 将该任务分解成三部分来逐个实现: ①爬取全球的疫情数据存储到云服务器的MySQL上 ②在web项目里添加一个servlet,通过参数的传递得到对应的json数据 ③设计A ...

  3. 使用chart和echarts制作图表

      前  言 chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库.它可以帮你用不同的方式让你的数据变得可视化.每种类型的图表都有动画效果,并且看上去非常棒,即便是在retina ...

  4. python绘制疫情图

    python中进行图表绘制的库主要有两个:matplotlib 和 pyecharts, 相比较而言: matplotlib中提供了BaseMap可以用于地图的绘制,但是个人觉得其绘制的地图不太美观, ...

  5. 用Python绘制全球疫情变化地图

    目前全球疫情仍然比较严重,为了能清晰地看到疫情爆发以来至现在全球疫情的变化趋势,我绘制了一张疫情变化地图,完整代码共 230 行,需要的朋友在公众号回复关键字 疫情地图 即可. 废话不多说,先上图 下 ...

  6. Python 绘制全球疫情地图

    国内疫情得到控制后,我就没怎么再关心过疫情,最近看到一条新闻,全球疫情累计确诊人数已经突破 500w 大关,看到这个数字我还是有点吃惊的. 思来想去,还是写一篇全球疫情的分析的文章,本文包括网络爬虫. ...

  7. 页面制作部分之PS切图

    页面制作部分之PS切图 <--本标签下,通过页面制作.页面架构.javascript程序设计.DOM编程艺术.产品前端架构五部分来分享总结笔记,总结笔记会陆续分享--> 网页设计在技术层面 ...

  8. 【百度地图API】如何制作一张魔兽地图!!——CS地图也可以,哈哈哈

    原文:[百度地图API]如何制作一张魔兽地图!!--CS地图也可以,哈哈哈 摘要: 你玩魔兽不?你知道如何做一张魔兽地图不?! 快来看此文吧! ---------------------------- ...

  9. 如何用 Python 绘制玫瑰图等常见疫情图

    新冠疫情已经持续好几个月了,目前,我国疫情已经基本控制住了,而欧美国家正处于爆发期,我们会看到很多网站都提供了多种疫情统计图,今天我们使用 Python 的 pyecharts 框架来绘制一些比较常见 ...

随机推荐

  1. 使用 html5 svg 绘制图形

    有一次看一个项目的时候,看到图片的格式为svg,作为萌新的我瞬间有点小懵,这可是之前从没有见到过的格式,于是就开始上某度进行学习,发现某博主的优秀文章,进行转载方便自己学习,感谢原博主的优秀文章. · ...

  2. Java——Character类

    Java Character类 使用字符时,通常使用的是内置数据类型char. 实例: char ch = 'A'; //字符数组 char [] charArray = {'a','b','c',' ...

  3. elasticsearch7.8权限控制和规划

    由于在版本7开始,x-pack可以免费使用了,但是权限控制免费的不够细,但是控制到索引级别都基本够用了.付费的可以体验更细致的权限控制.本文的基础是已经有了es集群的基础上进行的. 官网:https: ...

  4. 【xml】控件常用属性

    https://www.cnblogs.com/xqz0618/p/textview.html (常用,生动) https://www.jianshu.com/p/992324336dd9 (全,简洁 ...

  5. linux虚拟摄像头vivid配置

    总述    最近在看摄像头驱动,需要配置虚拟摄像头的驱动,但是教程里面是linux2.6内核的,实际电脑的是Ubuntu16,内核是linux4.15版本,从2.6到4.15内核好多文件发生了变化,所 ...

  6. HDU6370 Werewolf 【基环内向树】

    HDU6370 Werewolf 题意: 有\(N\)个人玩狼人杀,只有村民和狼人,每个人指定另一个人并指出一个身份,其中:村民是不会说谎的,狼人是有可能说谎的,问在所有情况下必然是狼人的人数和必然是 ...

  7. Codeforces Round #305 (Div. 1) B. Mike and Feet

    Mike is the president of country What-The-Fatherland. There are n bears living in this country besid ...

  8. 新疆大学ACM新生赛(公开赛) E.异或 (思维,位运算)

    题意:RT 题解: \(i\ mod \ k=0\),即所有事\(k\)的倍数的位置都要进行异或,根据异或的性质,我们知道如果相同的异或的数个数是偶数的话,得出的结果是\(0\),所以每次询问,我们判 ...

  9. Codeforces Round #645 (Div. 2) D. The Best Vacation (贪心,二分)

    题意:一年有\(n\)个月,每月有\(d_{i}\)天,找出连续的\(x\)天,使得这\(x\)天的日期总和最大,任意一年都能选. 题解:首先要先贪心,得到:连续的\(x\)天的最后一天一定是某个月的 ...

  10. .net面试--值类型和引用类型

    注:下面的示意图主要是为了辅助理解,不代表内存真实情况. Introduction 类型基础是C#的基础概念,了解类型基础及背后的工作原理更有助于我们在编码的时候明白数据在内存中的分配与传递.C#提供 ...