如何用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以顯示其他資訊或跟蹤與疫情相關的其他資料點。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP