# default_exp china
# 上面一行用于nbdev中声明本模块的名称。必须是notebook的第一个Cell的第一行。
china_balance
- 描述:抗击新冠病毒(7)- 全国治愈与新增病例平衡分析。
- 功能:载入data/china.csv文件,进行绘图输出和分析。
- 模块:使用JupyterLab、Python、nbdev等完成。用到的Python模块包括:
- re,正则表达式解析。
- json,JSON格式解析。
- pandas,数据表格分析。
- 数据来源:http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml
- 源码-https://github.com/openthings/anti2020ncov
- 参考:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import *
china = pd.read_csv("./data/china.csv")
china = china.sort_values(by='日期')
china_t = china
china_t['平衡']=china['新增确诊']-(china['新增治愈']+china['新增死亡'])
趋势图绘制
# 绘制增加量趋势图
def drawb(dfx):
myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc',size=24)
fig=plt.figure(figsize=(48,12), dpi=250)
p1=fig.add_subplot(1,1,1)
p1.set_xticklabels(dfx['日期'], rotation=15, fontsize='small',fontproperties=myfont)
#显示数据。
p1.plot(dfx['日期'],dfx['平衡'],color='blue',linewidth=3,label='平衡【新增确诊-(新增治愈+新增死亡)】')
p1.plot(dfx['日期'],dfx['新增确诊'],color='#BB0000',linewidth=1,label='新增确诊')
p1.plot(dfx['日期'],dfx['现有确诊'],color='red',linewidth=1,label='现有确诊')
p1.plot(dfx['日期'],dfx['新增治愈'],color='green',linewidth=1,label='新增治愈')
p1.bar(dfx['日期'],dfx['新增死亡'],color='black',label='新增死亡')
plt.title(u'全国病例(COVID-2019)增减数量平衡-2020年01-02月,数据来源:http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml',fontproperties=myfont)
plt.legend(loc=0,ncol=1,prop=myfont)
plt.grid(True)
plt.gcf().autofmt_xdate()
plt.show()
def drawb1(dfx):
myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc',size=24)
fig=plt.figure(figsize=(48,12), dpi=250)
p1=fig.add_subplot(1,1,1)
p1.set_xticklabels(dfx['日期'], rotation=15, fontsize='small',fontproperties=myfont)
#显示数据。
p1.plot(dfx['日期'],dfx['平衡'],color='blue',linewidth=3,label='平衡【新增确诊-(新增治愈+新增死亡)】')
plt.title(u'全国病例(COVID-2019)增减数量平衡-2020年01-02月,数据来源:http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml',fontproperties=myfont)
plt.legend(loc=0,ncol=1,prop=myfont)
plt.grid(True)
plt.gcf().autofmt_xdate()
plt.show()
全国病例(COVID-2019)数量平衡-2020年01-02月
drawb(china)
drawb1(china)