From 93e40654317d69151ae581c1330924624e427f77 Mon Sep 17 00:00:00 2001 From: 10195501441 <10195501441@stu.ecnu.edu.cn> Date: Mon, 21 Dec 2020 14:11:39 +0800 Subject: [PATCH] update pics display --- COVID-19/Project/.vs/Project/v16/.suo | Bin 28672 -> 29696 bytes COVID-19/Project/Project/Project.py | 74 ++++++++++++++++++++++++++++------ 2 files changed, 61 insertions(+), 13 deletions(-) diff --git a/COVID-19/Project/.vs/Project/v16/.suo b/COVID-19/Project/.vs/Project/v16/.suo index 7b099488aa1884e73b3de00bd66b6db11a4d4ec9..bdd2a9c84bd8e116460502775aebd258dfc5b847 100644 GIT binary patch delta 1237 zcmbtTUr1A76yJC6-MH$V-A!#%=f9jb*Q}+RUPGNulk`C+B!xx^EhCy_Frfr#Sc!xW z^PZQU3KrC3>V2#SLmz@3^dS-|Lh3~*C~6Q!w9eUeGVmqngWo;hJ>NO!ckb_eH@3xM z+br%a;|#k?HW&olGQ^)$Dn(u%mW0x!(fds0#>K}UO*c2+uwreJd%|kWc$|wkfXG4E z5%~xak%z!)1_{$`#WvhI5LEOaS~RI@w53$s=)_$OEC{8{NAC-xqR~&mOM^$4YKr76 zs-OF3khV&jG(BX@q6Zb8v|>;pq6|@hs6b?xh=Eom`p6zaTaG9}P!~mLsS}T0OoGK+ zhunk?3Z~VJd+ojWg%|brR0;;moLW*Am~oZIL$Ku8K+Y93d;T_`a0&?@rz$T+`WVWf zXh@caBvPX`+ZnBxPc(55GdsXxbxG7wHU&hjA&DF$C0U)fb%RMR^i*bfA!!duHRzx( z%Y;I-__XNGa%jmwh)H$mp&{*s#YP0U(K(ms=G4}1=(e}Rj5R1x``N^hw7wQ;keNI! zSrFo3&E$osZC)+uG8>F|N~7P4h?dMVRq2*!!ltYPh?WnS4RmWLl-8a|)Y(3fjtYrW z!gA9ZlW3}XMkc3M)&$RQwtRx)fO7>Un&si$sC3n+YaLci$07Zhb#sYIL2d6cGm;^r zxE|LY`e$83QZc4yYik@q$6a9V0C+j^QAeN51n3;zG5Y(f1}zp6dWZzsM@e|IzML!9a8m@wB13RztW`X_PCqhU>YcEnj=OA%(&ejfZ0c#L_xb#d z^)24c&iaOy9xX7Q!=N{!$Q!Sgto?_dNL^yWRVU(pt-IFCOm47H9bj Db6TJB delta 1240 zcmb7@O-vI(6vuaVmu3rFqo$;!89=(1m8fnpoT;z`E_Rg^WNK;|4f&6 z$ns|rv6gdc%i}l=jtR22zrW990yo66XQBH<;jc^I$L*sZKM)I@=N}VN&X%Gf`Em)y zRUnv>X$G8|(poy7ikeYsL99qCVndwZ6$^+9cV0u{*;~BC_QC4HP?-f%vR|%8L3Q9j4D0;z z>2#DDslA56rhq@7&oMw=wn&Y+JAz{J$t;99s)jP1%;Jogvb>krQB{GaYW)KE zik4xs;hbVl>JH4RJQe{dvtMpNfnAxJ2H}c;RCi3s8pFw5x?6OKfUj{wDeZNTVPimI_jI&i^dFpqy@-q$F1e=^=F|MnZ-P?SO}q173h_!G zkuB+;d&e246)ptF1qW9O>%nnQ2HezrMWZ<(;8B%jY~zdLMd!rmMB*oX zx4maS+otnG6D#H?E0fQ6TWdJ>ROzkZ6+s#9`HyJWpE2v1TZgSa(S`#9v`hwNhjUSt zIU1RsCCYR!ybikZwqL~~hEEUrqn(Z)Pa{i%pdYe=XHE-!lg_^v*GH_mBX8J0nd5HG p&dp3N!gj!>Ow}8`-X>c|kJs+AU356D?RNyOtLbXMjkTsczW{lv#aI9U diff --git a/COVID-19/Project/Project/Project.py b/COVID-19/Project/Project/Project.py index 97ed667..1abb1ed 100644 --- a/COVID-19/Project/Project/Project.py +++ b/COVID-19/Project/Project/Project.py @@ -5,7 +5,7 @@ import numpy as np import datetime import math from scipy import interpolate -plt.rcParams['font.sans-serif'] = ['SimHei'] + plt.rcParams['axes.unicode_minus'] = False #打开数据文件 @@ -20,10 +20,11 @@ dataset = dataset.fillna(0) dataset['Date'] = pd.to_datetime(dataset['Date']) -#对China数据进行可视化操作 -China = dataset[dataset['Country/Region'] == 'China'].reset_index(drop=True) +#对China\US数据进行可视化操作 +China = dataset[dataset['Country/Region'] == 'China'].reset_index(drop=True) +US = dataset[dataset['Country/Region'] == 'US'].reset_index(drop=True) -#计算每日治愈率/确诊人数/治愈人数(分月份显示) +#计算中\美每日治愈率/确诊人数/治愈人数(分月份显示) dfChinaJan = China[China['Date'].dt.month == 1] dfChinaFeb = China[China['Date'].dt.month == 2] dfChinaMar = China[China['Date'].dt.month == 3] @@ -37,21 +38,68 @@ dfChinaOct = China[China['Date'].dt.month == 10] dfChinaNov = China[China['Date'].dt.month == 11] dfChinaDec = China[China['Date'].dt.month == 12] -confirmed = [dfChinaJan['Confirmed'].sum(),dfChinaFeb['Confirmed'].sum(),dfChinaMar['Confirmed'].sum(),dfChinaApr['Confirmed'].sum(), +dfUSJan = US[US['Date'].dt.month == 1] +dfUSFeb = US[US['Date'].dt.month == 2] +dfUSMar = US[US['Date'].dt.month == 3] +dfUSApr = US[US['Date'].dt.month == 4] +dfUSMay = US[US['Date'].dt.month == 5] +dfUSJun = US[US['Date'].dt.month == 6] +dfUSJul = US[US['Date'].dt.month == 7] +dfUSAug = US[US['Date'].dt.month == 8] +dfUSSept = US[US['Date'].dt.month == 9] +dfUSOct = US[US['Date'].dt.month == 10] +dfUSNov = US[US['Date'].dt.month == 11] +dfUSDec = US[US['Date'].dt.month == 12] + +confirmedChina = [dfChinaJan['Confirmed'].sum(),dfChinaFeb['Confirmed'].sum(),dfChinaMar['Confirmed'].sum(),dfChinaApr['Confirmed'].sum(), dfChinaMay['Confirmed'].sum(),dfChinaJun['Confirmed'].sum(),dfChinaJul['Confirmed'].sum(),dfChinaAug['Confirmed'].sum(), dfChinaSept['Confirmed'].sum(),dfChinaOct['Confirmed'].sum(),dfChinaNov['Confirmed'].sum(),dfChinaDec['Confirmed'].sum()] -recovered = [dfChinaJan['Recovered'].sum(),dfChinaFeb['Recovered'].sum(),dfChinaMar['Recovered'].sum(),dfChinaApr['Recovered'].sum(), +recoveredChina = [dfChinaJan['Recovered'].sum(),dfChinaFeb['Recovered'].sum(),dfChinaMar['Recovered'].sum(),dfChinaApr['Recovered'].sum(), dfChinaMay['Recovered'].sum(),dfChinaJun['Recovered'].sum(),dfChinaJul['Recovered'].sum(),dfChinaAug['Recovered'].sum(), dfChinaSept['Recovered'].sum(),dfChinaOct['Recovered'].sum(),dfChinaNov['Recovered'].sum(),dfChinaDec['Recovered'].sum()] -recoverPoss = [] -for i in range(len(confirmed)): - recoverPoss.append(recovered[i] / confirmed[i]) -date = pd.date_range(start='2020-01', periods=12, freq="m").strftime('%Y-%m') +recoverPossChina = [] + +confirmedUS = [dfUSJan['Confirmed'].sum(),dfUSFeb['Confirmed'].sum(),dfUSMar['Confirmed'].sum(),dfUSApr['Confirmed'].sum(), + dfUSMay['Confirmed'].sum(),dfUSJun['Confirmed'].sum(),dfUSJul['Confirmed'].sum(),dfUSAug['Confirmed'].sum(), + dfUSSept['Confirmed'].sum(),dfUSOct['Confirmed'].sum(),dfUSNov['Confirmed'].sum(),dfUSDec['Confirmed'].sum()] +recoveredUS = [dfUSJan['Recovered'].sum(),dfUSFeb['Recovered'].sum(),dfUSMar['Recovered'].sum(),dfUSApr['Recovered'].sum(), + dfUSMay['Recovered'].sum(),dfUSJun['Recovered'].sum(),dfUSJul['Recovered'].sum(),dfUSAug['Recovered'].sum(), + dfUSSept['Recovered'].sum(),dfUSOct['Recovered'].sum(),dfUSNov['Recovered'].sum(),dfUSDec['Recovered'].sum()] +recoverPossUS = [] + +for i in range(len(confirmedChina)): + recoverPossChina.append(recoveredChina[i] / confirmedChina[i]) + recoverPossUS.append(recoveredUS[i] / confirmedUS[i]) + +#x轴为日期(月份) +date = pd.date_range(start='2020-01', periods=12, freq="m").strftime('%m') fig = plt.figure() -ax1 = fig.add_subplot(111) -ax1.plot(date,confirmed,recovered) + +#中国 +ax1 = fig.add_subplot(221) +ax1.set_title("Recovered/Confirmed/Recovery Possibility(month) of China",verticalalignment="bottom",fontsize="13") +data1 = ax1.plot(date,confirmedChina,color="red",linewidth="1.7",label="confirmed") +data2 = ax1.plot(date,recoveredChina,color="lime",linewidth="1.7",label="recovered") +ax1.set_ylabel('recovered/confirmed') ax2 = ax1.twinx() -ax2.plot(date,recoverPoss) +ax2.set_ylabel('recovery possibility') +data3 = ax2.plot(date,recoverPossChina,color="blue",linestyle="--",linewidth="1.0",label="recovery possibility") +datasChina = data1 + data2 + data3 +labsChina = [d.get_label() for d in datasChina] +ax1.legend(datasChina, labsChina, loc="lower right") + +#美国 +ax3 = fig.add_subplot(223) +ax3.set_title("Recovered/Confirmed/Recovery Possibility(month) of US",verticalalignment="bottom",fontsize="13") +data3 = ax3.plot(date,confirmedUS,color="red",linewidth="1.7",label="confirmed") +data4 = ax3.plot(date,recoveredUS,color="lime",linewidth="1.7",label="recovered") +ax3.set_ylabel('recovered/confirmed') +ax4 = ax3.twinx() +ax4.set_ylabel('recovery possibility') +data5 = ax4.plot(date,recoverPossUS,color="blue",linestyle="--",linewidth="1.0",label="recovery possibility") +datasUS = data3 + data4 + data5 +labsUS = [d.get_label() for d in datasUS] +ax3.legend(datasUS, labsUS, loc="upper left") plt.show() \ No newline at end of file