年初至今,新冠疫情给人们的正常生活带来了不小的改变,随着国内疫情形式逐渐好转,也再一次让我们看到了国家的伟大!向在此次抗击疫情中勇敢奉献的所有英雄致敬!
武大学生用python做出了樱花绽放,我在这里想记录一下从1.20-3.28国内疫情数据的变化。
数据准备
数据我是从丁香医生网站(感谢!)上获取的,丁香医生网站上的数据有几个优势:
- json格式;
- 各省的数据可以单独获取(不过现在没那么方便了,网页版查看各省数据详情会直接跳到下载丁香医生APP的广告页上,解决的方法是从主界面上获取数据,不过需要自己去判断哪个编号对应的是哪个省);
- 数据是从1月到现在的,这一点要好于其它网站,其他网站一般都是本天内的数据
获取到各省、直辖市、自治区、特别行政区的json数据后,我打算将其存至数据库中,数据库结构如下:
这里要用到pymysql这个库,代码如下:
1 | import json |
然后利用navciat导出为csv文件
如下图所示:
开始绘图
数据准备好后,就可以开始绘制动态条形图了
参考博客为:40行python制作超酷炫动态排序图
绘制条形图,要为各省、直辖市、自治区和特别行政区用不同的条形进行代表,不同的条形应该具有不同的颜色,这里根据十六进制颜色表示的特征,随机构造34种颜色,并于各省、直辖市、自治区和特别行政区相对应,并写入文件,以供绘图时读取,代码如下:
1 | import random |
下面开始绘图,参考文章有些部分已经不太适合现在的库版本了,所以也是调了一些地方,代码如下(解释包含其中):
1 | import pandas as pd |
效果如下(加载比较慢):