-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCovid_stats_GUI.py
54 lines (52 loc) · 2.08 KB
/
Covid_stats_GUI.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from tkinter import *
root = Tk()
root.geometry("350x350")
root.title("Get Covid-19 Data Country Wise")
def showdata():
from matplotlib import pyplot as plt
import matplotlib.patches as mpatches
from covid import Covid
covid = Covid()
cases = []
confirmed = []
active = []
deaths = []
recovered = []
root.update()
countries = data.get()
country_names = countries.strip()
country_names = country_names.replace(" ", ",")
country_names = country_names.split(",")
for x in country_names:
cases.append(covid.get_status_by_country_name(x))
root.update()
for y in cases:
confirmed.append(y["confirmed"])
active.append(y["active"])
deaths.append(y["deaths"])
recovered.append(y["recovered"])
confirmed_patch = mpatches.Patch(color='green', label='confirmed')
recovered_patch = mpatches.Patch(color='red', label='recovered')
active_patch = mpatches.Patch(color='blue', label='active')
deaths_patch = mpatches.Patch(color='black', label='deaths')
plt.legend(handles=[confirmed_patch, recovered_patch, active_patch, deaths_patch])
for x in range(len(country_names)):
plt.bar(country_names[x], confirmed[x], color='green')
if recovered[x] > active[x]:
plt.bar(country_names[x], recovered[x], color='red')
plt.bar(country_names[x], active[x], color='blue')
else:
plt.bar(country_names[x], active[x], color='blue')
plt.bar(country_names[x], recovered[x], color='red')
plt.bar(country_names[x], deaths[x], color='black')
plt.title('Current Covid Cases')
plt.xlabel('Country Name')
plt.ylabel('Cases(in millions)')
plt.show()
Label(root, text="Enter all countries names\nfor whom you want to get\ncovid-19 data", font="Consolas 15 bold").pack()
Label(root, text="Enter country name:").pack()
data = StringVar()
data.set("Seperate country names using comma or space(not both)")
entry = Entry(root, textvariable=data, width=50).pack()
Button(root, text="Get Data", command=showdata).pack()
root.mainloop()