From af0c17ecf8334ca6d4e3e0082d53ded05fdf15a3 Mon Sep 17 00:00:00 2001 From: Benedikt Bastin Date: Sun, 31 Jan 2021 22:12:03 +0100 Subject: [PATCH] feat: Added plot for cumulative vaccinations --- dashboard_template.xhtml | 13 +++++++++++ plot.py | 47 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/dashboard_template.xhtml b/dashboard_template.xhtml index 22f95f2..bb917a4 100644 --- a/dashboard_template.xhtml +++ b/dashboard_template.xhtml @@ -222,6 +222,19 @@ Download als PDF +
+ + + +
+ Abbildung 6: + Tägliche Impfrate (Erst- und Zweitimpfung nebeneinander)
+ Download als PNG + Download als PDF +
+
diff --git a/plot.py b/plot.py index b6df546..d7755b6 100644 --- a/plot.py +++ b/plot.py @@ -457,6 +457,53 @@ def plot_vaccination_bar_graph_compare_both_vaccinations(): plot_vaccination_bar_graph_compare_both_vaccinations() +def plot_cumulative_two_vaccinations(): + archive_plot_filename = '{}/cumulative_two_vaccinations'.format(archive_folder) + latest_plot_filename = '{}/cumulative_two_vaccinations'.format(site_folder) + + if os.path.isfile(archive_plot_filename + '.pdf'): + print('Plot {} already exists'.format(archive_plot_filename)) + return + + fig, ax = plt.subplots(1) + + + plt.title( + 'Kumulative Impfrate (Erst- und Zweitimpfung)\n' + 'Datenquelle: RKI, Stand: {}. Erstellung: {}, Ersteller: Benedikt Bastin, Lizenz: CC BY-SA 4.0\n'.format( + print_stand, print_today + ) + ) + + ax.grid() + + first_vaccinations_cumulative = data_first_vaccination['cumulative'] + second_vaccinations_cumulative = data_second_vaccination['cumulative'] + + ax.fill_between(dates, first_vaccinations_cumulative, label='Erstimpfungen', color='blue') + ax.fill_between(dates, second_vaccinations_cumulative, label='Zweitimpfungen', color='lightblue') + + ax.set_ylim([0, first_vaccinations_cumulative.iloc[-1]]) + + ax.legend(loc='upper left') + ax.xaxis_date() + ax.get_yaxis().get_major_formatter().set_scientific(False) + + ax.set_xlabel('Datum') + ax.set_ylabel('Tägliche Impfungen') + + + plt.savefig(archive_plot_filename + '.pdf') + plt.savefig(archive_plot_filename + '.png') + plt.savefig(latest_plot_filename + '.pdf') + plt.savefig(latest_plot_filename + '.png') + plt.close() + + print('Created plot {} as pdf and png'.format(archive_plot_filename)) + + +plot_cumulative_two_vaccinations() + def render_dashboard(): dashboard_filename = 'site/index.xhtml' dashboard_archive_filename = 'site/archive/{}/index.xhtml'.format(filename_stand)