目录
Day01 新冠疫情可视化
第一天的任务主要有两个,第一个是飞桨的本地安装,以及新冠疫情可视化。
作业1:飞桨本地安装
这门课程我感觉首先是可以给大家普及cv方面的知识,另一方面也是为了普及飞桨这个框架的使用,所以安装飞桨也必不可少。
飞桨的官网:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/index_cn.html
作业2:新冠疫情可视化
作业2的话是 新冠疫情的可视化。这个作业的主要任务是 利用python的request模块和re正则化模块,爬取丁香园当天的新冠疫情数据,然后利用Echarts进行对数据可视化操作。Echarts 是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。pyecharts api参考链接:https://pyecharts.org/#/zh-cn/chart_api
然后我们需要做的就是将面的可视化图片利用百度的pycharts 转为扇形可视化出来。
利用爬取到的数据转为扇形对的代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/3/31 22:17
# @Author : caius
# @Site :
# @File : test2.py
# @Software: PyCharm
import json
import datetime
from pyecharts.charts import Map
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker
# 读原始数据文件
today = datetime.date.today().strftime('%Y%m%d') #20200315
datafile = 'data/'+ today + '.json'
with open(datafile, 'r', encoding='UTF-8') as file:
json_array = json.loads(file.read())
# 分析全国实时确诊数据:'confirmedCount'字段
china_data = []
for province in json_array:
china_data.append((province['provinceShortName'], province['confirmedCount']))
china_data = sorted(china_data, key=lambda x: x[1], reverse=True) #reverse=True,表示降序,反之升序
print(china_data)
# 全国疫情地图
# 自定义的每一段的范围,以及每一段的特别的样式。
pieces = [
{'min': 10000, 'color': '#540d0d'},
{'max': 9999, 'min': 1000, 'color': '#9c1414'},
{'max': 999, 'min': 500, 'color': '#d92727'},
{'max': 499, 'min': 100, 'color': '#ed3232'},
{'max': 99, 'min': 10, 'color': '#f27777'},
{'max': 9, 'min': 1, 'color': '#f7adad'},
{'max': 0, 'color': '#f7e4e4'},
]
labels = [data[0] for data in china_data]
counts = [data[1] for data in china_data]
# m = Map()
# m.add("累计确诊", [list(z) for z in zip(labels, counts)], 'china')
c = Pie()
c.add("", [list(z) for z in zip(labels, counts)] ,center=["50%", "70%"],radius=["2%", "40%"])
["50%", "50%"]
c.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
c.set_global_opts(title_opts=opts.TitleOpts(title='全国实时确诊数据 -caius',
subtitle='数据来源:丁香园'),
legend_opts=opts.LegendOpts(is_show=False)
) #是否显示视觉映射配置
# c = (
# Pie()
# .add("",[list(z) for z in zip(labels, counts)])
# # .set_colors(["blue", "green", "yellow", "red", "pink", "orange", "purple"])
# .set_global_opts(title_opts=opts.TitleOpts(title="Pie-设置颜色"))
# .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
# .render("pie_set_color.html")
# )
#系列配置项,可配置图元样式、文字样式、标签样式、点线样式等
# m.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}"),is_show&#