|
1 | 1 | ############################################################################# |
2 | 2 | # Copyright (C) 2020-2021 German Aerospace Center (DLR-SC) |
3 | 3 | # |
4 | | -# Authors: |
| 4 | +# Authors: |
5 | 5 | # |
6 | 6 | # Contact: Martin J. Kuehn <[email protected]> |
7 | 7 | # |
|
20 | 20 | """@PlotGermanData.py |
21 | 21 | WARNING: This file is currently not tested and maintained. |
22 | 22 | """ |
23 | | -import pandas as pd |
24 | | -import numpy as np |
25 | | -import matplotlib.pyplot as plt |
26 | 23 | from datetime import datetime |
27 | 24 |
|
| 25 | +import matplotlib.pyplot as plt |
| 26 | +import numpy as np |
| 27 | +import pandas as pd |
| 28 | + |
28 | 29 | df = pd.read_json('cases_all_age.json') |
29 | 30 |
|
30 | 31 | for i in range(len(df)): |
|
34 | 35 | ages = df.Age_RKI.unique() |
35 | 36 | num_groups = len(ages) |
36 | 37 | time = range(126) |
37 | | -dates = pd.date_range(start=datetime(2020,1,28), end=datetime(2020,6,2)) |
| 38 | +dates = pd.date_range(start=datetime(2020, 1, 28), end=datetime(2020, 6, 2)) |
38 | 39 | group_data = np.zeros((len(time), num_groups, 3)) |
39 | 40 |
|
40 | 41 | for age, i in zip(ages, range(num_groups)): |
41 | 42 | for date, j in zip(dates, range(len(time))): |
42 | 43 | if date.date() in [x.date() for x in df.Date[df.Age_RKI == age]]: |
43 | | - group_data[j, i, 0] = df.Confirmed[(df.Age_RKI == age) & (df.Date == date)].values |
44 | | - group_data[j, i, 1] = df.Deaths[(df.Age_RKI == age) & (df.Date == date)].values |
45 | | - group_data[j, i, 2] = df.Recovered[(df.Age_RKI == age) & (df.Date == date)].values |
| 44 | + group_data[j, i, 0] = df.Confirmed[( |
| 45 | + df.Age_RKI == age) & (df.Date == date)].values |
| 46 | + group_data[j, i, 1] = df.Deaths[( |
| 47 | + df.Age_RKI == age) & (df.Date == date)].values |
| 48 | + group_data[j, i, 2] = df.Recovered[( |
| 49 | + df.Age_RKI == age) & (df.Date == date)].values |
46 | 50 |
|
47 | | -datelist = np.array(pd.date_range(datetime(2020,1, 28), periods=len(time), freq='D').strftime('%m-%d').tolist()) |
| 51 | +datelist = np.array(pd.date_range(datetime(2020, 1, 28), |
| 52 | + periods=len(time), freq='D').strftime('%m-%d').tolist()) |
48 | 53 | tick_range = np.arange(int(len(time)/10)+1)*10 |
49 | 54 | compartiments = ['Confirmed', 'Dead', 'Recovered'] |
50 | | -fig, ax = plt.subplots(3,1, figsize=(8,10)) |
| 55 | +fig, ax = plt.subplots(3, 1, figsize=(8, 10)) |
51 | 56 | for comp, j in zip(compartiments, range(len(compartiments))): |
52 | 57 | for age, i in zip(ages, range(len(ages))): |
53 | 58 | ax[j].plot(time, group_data[:, i, j], label=age) |
54 | 59 | ax[j].legend() |
55 | 60 | ax[j].set_title(comp) |
56 | 61 | ax[j].set_xticks([]) |
57 | 62 | ax[2].set_xticks(tick_range) |
58 | | -ax[2].set_xticklabels(datelist[tick_range],rotation=45) |
| 63 | +ax[2].set_xticklabels(datelist[tick_range], rotation=45) |
59 | 64 | fig.tight_layout() |
60 | 65 | fig.savefig('Cases_Groups.pdf') |
61 | 66 |
|
62 | 67 |
|
63 | 68 | all_data = np.sum(group_data, axis=1) |
64 | 69 | new_inf = [] |
65 | | -for i in range(1,len(all_data[:,0])): |
66 | | - new_inf.append(all_data[i,0] - all_data[i-1,0]) |
| 70 | +for i in range(1, len(all_data[:, 0])): |
| 71 | + new_inf.append(all_data[i, 0] - all_data[i-1, 0]) |
67 | 72 |
|
68 | | -fig, ax = plt.subplots(4,1, figsize=(8,14)) |
| 73 | +fig, ax = plt.subplots(4, 1, figsize=(8, 14)) |
69 | 74 | for comp, j in zip(compartiments, range(len(compartiments))): |
70 | | - ax[j].plot(time, np.sum(group_data[:,:,j], axis=1)) |
| 75 | + ax[j].plot(time, np.sum(group_data[:, :, j], axis=1)) |
71 | 76 | ax[j].set_title(comp) |
72 | 77 | ax[j].set_xticks([]) |
73 | 78 | ax[3].plot(time[:-1], new_inf) |
74 | 79 | ax[3].set_title('New Daily Infections') |
75 | 80 | ax[3].set_xticks(tick_range) |
76 | | -ax[3].set_xticklabels(datelist[tick_range],rotation=45) |
| 81 | +ax[3].set_xticklabels(datelist[tick_range], rotation=45) |
77 | 82 | fig.tight_layout() |
78 | 83 | fig.savefig('Cases_All.pdf') |
79 | 84 | plt.show() |
0 commit comments