iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
AI & Data

用 Grafana 打造癌症資料視覺化平台:從資料清洗到AI預測呈現系列 第 11

模擬長期癌症病人數據,打造趨勢圖與對比圖

  • 分享至 

  • xImage
  •  

1.建立30天病人數據
到cancer-dashboard/patient.log裡,範例:

2025-08-01 patient_id=001 AFP=120 ALT=30
2025-08-05 patient_id=001 AFP=140 ALT=35
2025-08-10 patient_id=001 AFP=180 ALT=40
2025-08-15 patient_id=001 AFP=250 ALT=55
2025-08-20 patient_id=001 AFP=300 ALT=60
2025-08-25 patient_id=001 AFP=400 ALT=70
2025-08-30 patient_id=001 AFP=500 ALT=90

2025-08-01 patient_id=002 AFP=90 ALT=25
2025-08-05 patient_id=002 AFP=110 ALT=30
2025-08-10 patient_id=002 AFP=130 ALT=35
2025-08-15 patient_id=002 AFP=160 ALT=45
2025-08-20 patient_id=002 AFP=200 ALT=50
2025-08-25 patient_id=002 AFP=240 ALT=55
2025-08-30 patient_id=002 AFP=280 ALT=60

特點:
● 每位病人有一個月(30天)數據
● 指標:AFP(癌症標記)、ALT(肝功能)
● AFP數值逐步上升,模擬病情變化

2. 重啟服務,確認資料收集

docker compose down
docker compose up -d

查看Promtail log:

docker logs cancer-dashboard-promtail-1 | head -n 20

有看到patient.log被收集就代表OK

3. 在Grafana畫「病人趨勢圖」
(1)新增 Dashboard → Add Panel
(2)查詢語法(LogQL):

{job="patient-data", patient_id="$patient_id"} |= "AFP"
  1. 設定:
    ● Panel Type:Time series 折線圖
    ● X 軸:時間(log timestamp)
    ● Y 軸:AFP數值

這樣就能看到某位病人的AFP在30天內的變化曲線。

4. 畫「病人對比圖」
(1)新增另一個 Panel
(2)查詢語法:

{job="patient-data"} |= "AFP"

(3)在Legend裡面設定:

{{patient_id}}

這樣每條線會用病人ID區分
(4)Panel類型:折線圖 (Time series)

5. 成果
趨勢圖 → 看單一病人的長期變化
對比圖 → 看不同病人之間的差異


上一篇
延伸學習的三個選擇
下一篇
同時顯示多個指標 + 建立警示機制
系列文
用 Grafana 打造癌症資料視覺化平台:從資料清洗到AI預測呈現12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言