如何用Python创建COVID-19数据可视化GUI?
COVID-19疫情扰乱了全球的日常生活,许多国家实施了封锁和其他限制措施以控制病毒的传播。因此,人们对追踪病毒传播非常感兴趣,包括活跃病例和确诊病例的数量。借助科技,现在可以使用图形用户界面 (GUI) 实时访问并可视化这些数据。本教程将概述一个创建用于显示COVID-19数据的GUI的Python程序。
创建Tkinter GUI以显示COVID-19数据
此Python程序演示了如何使用tkinter库创建用于显示COVID-19数据的GUI。该程序从API获取数据,并使用关于活跃病例总数、确诊病例总数和最后更新时间的最新信息更新GUI。
以下代码使用Python中的tkinter库创建GUI。GUI包括两个标签和一个按钮。第一个标签显示活跃病例总数,第二个标签显示确诊病例总数。按钮允许用户刷新数据并显示更新的信息。
import requests import json from tkinter import * window = Tk() # Creating the GUI window window.title("COVID-19 Tracker") # Setting the size of the window window.geometry('250x100') # Adding labels to the window lbl_active = Label(window, text="Total Active Cases:") lbl_active.grid(column=0, row=0) lbl_confirmed = Label(window, text="Total Confirmed Cases:") lbl_confirmed.grid(column=0, row=1) lbl_active_value = Label(window, text="") lbl_active_value.grid(column=1, row=0) lbl_confirmed_value = Label(window, text="") lbl_confirmed_value.grid(column=1, row=1) lbl_updated = Label(window, text="") lbl_updated.grid(column=0, row=2, columnspan=2) # Function to fetch and display the data def update_data(): url = "https://api.covid19india.org/data.json" response = requests.get(url) data = json.loads(response.text) lbl_active_value.configure(text=data["statewise"][0]["active"]) lbl_confirmed_value.configure(text=data["statewise"][0]["confirmed"]) lbl_updated.configure(text="Data last updated on " + data["statewise"][0]["lastupdatedtime"]) # Adding a button to fetch new data btn_refresh = Button(window, text="Refresh Data", command=update_data) btn_refresh.grid(column=0, row=3, columnspan=2) # Calling the update_data function to display initial data update_data() window.mainloop()
解释
第一步是导入必要的库——requests、json和tkinter。
接下来,通过实例化Tk()类创建一个tkinter窗口。窗口标题设置为“COVID-19追踪器”,窗口几何形状设置为250x100像素。
将标签添加到窗口以显示活跃病例总数和确诊病例总数。添加另外两个标签来显示这些病例的值。
将一个空标签添加到窗口以显示数据的最后更新时间。
定义update_data()函数,该函数从API获取数据,解析JSON数据,并更新显示活跃病例总数、确诊病例总数和最后更新时间的标签的值。
将一个按钮添加到窗口,以便单击时触发update_data()函数。
最后调用update_data()函数以显示初始数据。
最后,调用mainloop()方法以显示GUI窗口并等待用户交互。
为了运行代码,您需要运行下面显示的命令。
命令
pip install requests pip install tkinter
输出
运行程序时,将出现一个标题为“COVID-19追踪器”的GUI窗口,其中两个标签分别显示活跃病例总数和确诊病例总数。这些标签下方是显示数据更新时间的空白区域。
此空白区域下方有一个标记为“刷新数据”的按钮。单击此按钮将从API获取新数据,并更新两个标签的值和“最后更新”标签的文本。
结论
此程序对于想要跟踪其所在地区或全球COVID-19传播的人员很有用。通过修改代码,用户可以自定义GUI以显示其他信息或跟踪与疫情相关的其他数据点。