Update.
[python.git] / covid19.py
index 0fd9ecc..ea79544 100755 (executable)
@@ -1,12 +1,17 @@
 #!/usr/bin/env python
 
 #!/usr/bin/env python
 
+# Any copyright is dedicated to the Public Domain.
+# https://creativecommons.org/publicdomain/zero/1.0/
+
+# Written by Francois Fleuret <francois@fleuret.org>
+
 import os, time, math
 import numpy, csv
 import matplotlib.pyplot as plt
 import matplotlib.dates as mdates
 import urllib.request
 
 import os, time, math
 import numpy, csv
 import matplotlib.pyplot as plt
 import matplotlib.dates as mdates
 import urllib.request
 
-url = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv'
+url = 'https://github.com/CSSEGISandData/COVID-19/raw/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv'
 
 file = 'time_series_19-covid-Confirmed.csv'
 
 
 file = 'time_series_19-covid-Confirmed.csv'
 
@@ -29,7 +34,6 @@ with open(file, newline='') as csvfile:
                 country = field
                 if not country in nb_cases:
                     nb_cases[country] = numpy.zeros(len(times))
                 country = field
                 if not country in nb_cases:
                     nb_cases[country] = numpy.zeros(len(times))
-                # print(country)
             if row_nb == 0 and col_nb >= time_col:
                 times.append(time.mktime(time.strptime(field, '%m/%d/%y')))
             if row_nb == 1 and col_nb == time_col:
             if row_nb == 0 and col_nb >= time_col:
                 times.append(time.mktime(time.strptime(field, '%m/%d/%y')))
             if row_nb == 1 and col_nb == time_col:
@@ -44,8 +48,7 @@ with open(file, newline='') as csvfile:
 fig = plt.figure()
 ax = fig.add_subplot(1, 1, 1)
 
 fig = plt.figure()
 ax = fig.add_subplot(1, 1, 1)
 
-ax.grid(color='gray', linestyle='-', linewidth=0.25)
-
+ax.yaxis.grid(color='gray', linestyle='-', linewidth=0.25)
 ax.set_title('Nb. of COVID-19 cases')
 ax.set_xlabel('Date', labelpad = 10)
 ax.set_yscale('log')
 ax.set_title('Nb. of COVID-19 cases')
 ax.set_xlabel('Date', labelpad = 10)
 ax.set_yscale('log')
@@ -54,17 +57,23 @@ myFmt = mdates.DateFormatter('%b %d')
 ax.xaxis.set_major_formatter(myFmt)
 dates = mdates.epoch2num(times)
 
 ax.xaxis.set_major_formatter(myFmt)
 dates = mdates.epoch2num(times)
 
-for label, color in [ ('World', 'blue'),
-                      ('Switzerland', 'red'),
-                      ('France', 'green'),
-                      ('South Korea', 'gray'),
-                      ('Mainland China', 'orange') ]:
-    ax.plot(dates, nb_cases[label], color = color, label = label)
+print('Countries:')
+print(nb_cases.keys())
+
+for key, color, label in [
+        ('World', 'blue', 'World'),
+        ('Switzerland', 'red', 'Switzerland'),
+        ('France', 'lightgreen', 'France'),
+        ('US', 'black', 'USA'),
+        ('Korea, South', 'gray', 'South Korea'),
+        ('Italy', 'purple', 'Italy'),
+        ('China', 'orange', 'China')
+]:
+    ax.plot(dates, nb_cases[key], color = color, label = label, linewidth=2)
 
 
-# ax.legend(loc='center left', bbox_to_anchor=(1, 0.5), frameon = False)
 ax.legend(frameon = False)
 
 plt.show()
 ax.legend(frameon = False)
 
 plt.show()
-# fig.savefig('covid19.svg')
+fig.savefig('covid19.png')
 
 ######################################################################
 
 ######################################################################