如何用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以顯示其他資訊或跟蹤與疫情相關的其他資料點。

更新於:2023年8月3日

121 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.