feat: Removed earliest extrapolation plots
This commit is contained in:
parent
794fcf87d2
commit
e461a372f9
1 changed files with 8 additions and 98 deletions
106
plot.py
106
plot.py
|
@ -271,84 +271,6 @@ else:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def plot_extrapolation_portion(percentage):
|
|
||||||
|
|
||||||
print_percentage = int(percentage * 100)
|
|
||||||
archive_plot_filename = '{}/extrapolated_to_{}_percent'.format(archive_folder, print_percentage)
|
|
||||||
latest_plot_filename = '{}/extrapolated_to_{}_percent'.format(site_folder, print_percentage)
|
|
||||||
|
|
||||||
if os.path.isfile(archive_plot_filename + '.pdf'):
|
|
||||||
print('Plot {} already exists'.format(archive_plot_filename))
|
|
||||||
return
|
|
||||||
|
|
||||||
fig, ax = plt.subplots(1)
|
|
||||||
|
|
||||||
|
|
||||||
plt.title(
|
|
||||||
'Tägliche Impfrate (Erst- und Zweitimpfung übereinander), kumulierte Impfungen und lineare Extrapolation bis {:n} % der Bevölkerung Deutschlands\n'
|
|
||||||
'Datenquelle: RKI, Stand: {}. Erstellung: {}, Ersteller: Benedikt Bastin, Lizenz: CC BY-SA 4.0\n'
|
|
||||||
'Erstimpfungen: {:n} ({:n} %), Durchschnittliche Impfrate: {:n} Impfungen/Tag (läuft seit {:n} Tagen)\n'
|
|
||||||
'Zweitimpfungen: {:n} ({:n} %), Durchschnittliche Impfrate: {:n} Impfungen/Tag (läuft seit {:n} Tagen)'.format(
|
|
||||||
print_percentage,
|
|
||||||
print_stand, print_today,
|
|
||||||
data_first_vaccination['total'], np.round(data_first_vaccination['total_percentage'], 2), data_first_vaccination['extrapolation_mean_all_time']['rate'], data_first_vaccination['days_since_start'],
|
|
||||||
data_second_vaccination['total'], np.round(data_second_vaccination['total_percentage'], 2), data_second_vaccination['extrapolation_mean_all_time']['rate'], data_second_vaccination['days_since_start']
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
ax2 = ax.twinx()
|
|
||||||
|
|
||||||
ax.bar(dates, data_first_vaccination['daily'], label='Tägliche Erstimpfungen', color='blue')
|
|
||||||
ax.bar(dates, data_second_vaccination['daily'], label='Tägliche Zweitimpfungen', color='lightblue', bottom=data_first_vaccination['daily'])
|
|
||||||
|
|
||||||
ax.plot(dates, data_first_vaccination['mean_vaccination_rates_daily'], color='violet', label='Durchschnittliche Erstimpfrate\nbis zu diesem Tag (inkl.)')
|
|
||||||
ax.plot(dates, data_second_vaccination['mean_vaccination_rates_daily'], color='magenta', label='Durchschnittliche Zweitimpfrate\nbis zu diesem Tag (inkl.)')
|
|
||||||
|
|
||||||
ax2.set_ylim([0, einwohner_deutschland * percentage])
|
|
||||||
ax2.set_xlim(xmax=dates[0] + datetime.timedelta(days=percentage * data_first_vaccination['extrapolation_mean_all_time']['days_extrapolated']))
|
|
||||||
ax2.grid(True)
|
|
||||||
|
|
||||||
ax2.plot(dates, data_first_vaccination['cumulative'], color='red', label='Kumulierte Erstimpfungen')
|
|
||||||
ax2.plot(dates, data_second_vaccination['cumulative'], color='indianred', label='Kumulierte Zweitimpfungen')
|
|
||||||
|
|
||||||
ax2.plot(data_first_vaccination['extrapolation_mean_all_time']['dates'], data_first_vaccination['extrapolation_mean_all_time']['extrapolated_vaccinations'], color='orange', label='Extrap. kumulierte Erstimpfungen (Ø gesamt)\n{:n} Impfungen/Tag'.format(data_first_vaccination['extrapolation_mean_all_time']['rate_int']))
|
|
||||||
ax2.plot(data_first_vaccination['extrapolation_mean_seven_days']['dates'], data_first_vaccination['extrapolation_mean_seven_days']['extrapolated_vaccinations'], color='goldenrod', label='Extrap. kumulierte Erstimpfungen (Ø 7 Tage)\n{:n} Impfungen/Tag'.format(data_first_vaccination['extrapolation_mean_seven_days']['rate_int']))
|
|
||||||
ax2.plot()
|
|
||||||
|
|
||||||
ax2.plot(data_second_vaccination['extrapolation_mean_all_time']['dates'], data_second_vaccination['extrapolation_mean_all_time']['extrapolated_vaccinations'], color='orange', label='Extrap. kumulierte Zweitimpfungen (Ø gesamt)\n{:n} Impfungen/Tag'.format(data_second_vaccination['extrapolation_mean_all_time']['rate_int']))
|
|
||||||
ax2.plot(data_second_vaccination['extrapolation_mean_seven_days']['dates'], data_second_vaccination['extrapolation_mean_seven_days']['extrapolated_vaccinations'], color='goldenrod', label='Extrap. kumulierte Zweitimpfungen (Ø 7 Tage)\n{:n} Impfungen/Tag'.format(data_second_vaccination['extrapolation_mean_seven_days']['rate_int']))
|
|
||||||
#ax2.plot()
|
|
||||||
|
|
||||||
ax.legend(loc='upper left')
|
|
||||||
ax.get_yaxis().get_major_formatter().set_scientific(False)
|
|
||||||
|
|
||||||
ax.set_xlabel('Datum')
|
|
||||||
ax.set_ylabel('Tägliche Impfungen')
|
|
||||||
|
|
||||||
ax2.legend(loc='lower right')
|
|
||||||
ax2.get_yaxis().get_major_formatter().set_scientific(False)
|
|
||||||
|
|
||||||
# Estimated percentage for herd immunity
|
|
||||||
#ax2.axline((0, einwohner_deutschland * 0.7), slope=0, color='green')
|
|
||||||
|
|
||||||
ax2.set_ylabel('Kumulierte 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_extrapolation_portion(0.1)
|
|
||||||
#plot_extrapolation_portion(0.7)
|
|
||||||
plot_extrapolation_portion(1.0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def plot_vaccination_bar_graph_total_time():
|
def plot_vaccination_bar_graph_total_time():
|
||||||
|
|
||||||
archive_plot_filename = '{}/vaccination_bar_graph_total_time'.format(archive_folder)
|
archive_plot_filename = '{}/vaccination_bar_graph_total_time'.format(archive_folder)
|
||||||
|
@ -824,50 +746,38 @@ def render_dashboard():
|
||||||
figures = [
|
figures = [
|
||||||
{
|
{
|
||||||
'index': 1,
|
'index': 1,
|
||||||
'filename': 'extrapolated_to_10_percent',
|
|
||||||
'caption': 'Tägliche Impfquote, kumulierte Impfungen und lineare Extrapolation bis 10 % der Bevölkerung Deutschlands'
|
|
||||||
},{
|
|
||||||
'index': 2,
|
|
||||||
'filename': 'extrapolated_to_70_percent',
|
|
||||||
'caption': 'Tägliche Impfquote, kumulierte Impfungen und lineare Extrapolation bis 70 % der Bevölkerung Deutschlands'
|
|
||||||
},{
|
|
||||||
'index': 3,
|
|
||||||
'filename': 'extrapolated_to_100_percent',
|
|
||||||
'caption': 'Tägliche Impfquote, kumulierte Impfungen und lineare Extrapolation bis 100 % der Bevölkerung Deutschlands'
|
|
||||||
},{
|
|
||||||
'index': 4,
|
|
||||||
'filename': 'vaccination_bar_graph_total_time',
|
'filename': 'vaccination_bar_graph_total_time',
|
||||||
'caption': 'Tägliche Impfrate (Erst- und Zweitimpfung übereinander)'
|
'caption': 'Tägliche Impfrate (Erst- und Zweitimpfung übereinander)'
|
||||||
},{
|
},{
|
||||||
'index': 5,
|
'index': 2,
|
||||||
'filename': 'vaccination_bar_graph_total_time_two_bars',
|
'filename': 'vaccination_bar_graph_total_time_two_bars',
|
||||||
'caption': 'Tägliche Impfrate (Erst- und Zweitimpfung nebeneinander)'
|
'caption': 'Tägliche Impfrate (Erst- und Zweitimpfung nebeneinander)'
|
||||||
},{
|
},{
|
||||||
'index': 6,
|
'index': 3,
|
||||||
'filename': 'vaccination_bar_graph_compare_both_vaccinations',
|
'filename': 'vaccination_bar_graph_compare_both_vaccinations',
|
||||||
'caption': 'Tägliche Impfrate (Erst- und Zweitimpfung nebeneinander)'
|
'caption': 'Tägliche Impfrate (Erst- und Zweitimpfung nebeneinander)'
|
||||||
},{
|
},{
|
||||||
'index': 7,
|
'index': 4,
|
||||||
'filename': 'cumulative_two_vaccinations',
|
'filename': 'cumulative_two_vaccinations',
|
||||||
'caption': 'Kumulative Impfrate (Erst- und Zweitimpfung)'
|
'caption': 'Kumulative Impfrate (Erst- und Zweitimpfung)'
|
||||||
},{
|
},{
|
||||||
'index': 8,
|
'index': 5,
|
||||||
'filename': 'cumulative_two_vaccinations_percentage',
|
'filename': 'cumulative_two_vaccinations_percentage',
|
||||||
'caption': 'Kumulative Impfrate (Erst- und Zweitimpfung) in Prozent der Bevölkerung Deutschlands'
|
'caption': 'Kumulative Impfrate (Erst- und Zweitimpfung) in Prozent der Bevölkerung Deutschlands'
|
||||||
},{
|
},{
|
||||||
'index': 9,
|
'index': 6,
|
||||||
'filename': 'people_between_first_and_second',
|
'filename': 'people_between_first_and_second',
|
||||||
'caption': 'Anzahl der Personen zwischen Erst- und Zweitimpfung, also Personen, die die erste Impfung erhalten haben, die zweite aber noch nicht'
|
'caption': 'Anzahl der Personen zwischen Erst- und Zweitimpfung, also Personen, die die erste Impfung erhalten haben, die zweite aber noch nicht'
|
||||||
},{
|
},{
|
||||||
'index': 10,
|
'index': 7,
|
||||||
'filename': 'vaccination_rate',
|
'filename': 'vaccination_rate',
|
||||||
'caption': 'Tägliche Impfrate sowie durchschnittliche Impfrate'
|
'caption': 'Tägliche Impfrate sowie durchschnittliche Impfrate'
|
||||||
},{
|
},{
|
||||||
'index': 11,
|
'index': 8,
|
||||||
'filename': 'vaccination_done_days',
|
'filename': 'vaccination_done_days',
|
||||||
'caption': 'Lineare Extrapolation bis 70 % der Bevölkerung anhand der Erstimpfungen der durchschnittlichen Impfrate (Anzahl Tage, Gesamt und 7 Tage)'
|
'caption': 'Lineare Extrapolation bis 70 % der Bevölkerung anhand der Erstimpfungen der durchschnittlichen Impfrate (Anzahl Tage, Gesamt und 7 Tage)'
|
||||||
},{
|
},{
|
||||||
'index': 12,
|
'index': 9,
|
||||||
'filename': 'vaccination_done_dates',
|
'filename': 'vaccination_done_dates',
|
||||||
'caption': 'Lineare Extrapolation bis 70 % der Bevölkerung anhand der Erstimpfungen der durchschnittlichen Impfrate (Datum, Gesamt und 7 Tage)'
|
'caption': 'Lineare Extrapolation bis 70 % der Bevölkerung anhand der Erstimpfungen der durchschnittlichen Impfrate (Datum, Gesamt und 7 Tage)'
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue