OoO
c7b7ceeb8d
CD Pipeline / deploy (push) Has been cancelled
fix(ppt): line chart resilience — sparse data + dense xtick + inset legend
實戰在 188 prod 抓到的問題:N=1 時 title/legend/data marker 全擠在頂部。
修補:
- 加 `sparse = n_pts <= 2` 旗標,N<=2 時:
* 略過平均水平線(單點下無意義且標籤撞 title)
* marker 加大(5 → 7)讓單點更顯眼
* 中央加「⚠ 期間僅 N 個資料點」提示框(圓角米底+焦糖橘邊)
* legend 改 lower right inset(避開 title)
* x 軸 set_xlim 加邊距避免 marker 貼牆
- 正常 N>=3:
* legend 從 bbox_to_anchor 上方移到 axes 內 upper right
(frameon=True 米底邊框,避免與 title 撞)
* xticklabel 在 N>14 時 rotation=45 ha=right(避免 30 點擠成一團)
* title pad 加大為 18
bump 版本:
- daily v3.0.1 → v3.0.2
- weekly v3.0.1 → v3.0.2
- monthly v3.1.1 → v3.1.2
本機驗證:
- N=1:「資料不足」提示框正確顯示,無重疊
- N=30:30 個 xticklabel 旋轉 45° 清楚分離,legend 右上 inset 不撞 title
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 23:52:04 +08:00
..
2026-04-28 15:26:20 +08:00
2026-05-02 12:01:04 +08:00
2026-04-19 01:21:13 +08:00
2026-05-01 14:02:37 +08:00
2026-04-29 23:41:03 +08:00
2026-04-29 23:57:36 +08:00
2026-04-19 01:21:13 +08:00
2026-04-29 22:56:00 +08:00
2026-05-01 16:34:13 +08:00
2026-04-25 03:30:14 +08:00
2026-05-02 23:44:01 +08:00
2026-04-29 23:41:03 +08:00
2026-05-01 16:34:13 +08:00
2026-04-29 21:35:56 +08:00
2026-05-02 14:34:30 +08:00
2026-05-02 23:44:01 +08:00
2026-05-01 20:56:17 +08:00
2026-04-19 01:21:13 +08:00
2026-04-28 13:57:44 +08:00
2026-04-28 15:37:07 +08:00
2026-04-27 21:28:23 +08:00
2026-05-02 13:07:30 +08:00
2026-04-22 01:12:23 +08:00
2026-05-02 13:09:34 +08:00
2026-05-02 14:39:10 +08:00
2026-05-02 14:39:10 +08:00
2026-04-30 13:59:12 +08:00
2026-04-30 09:33:39 +08:00
2026-05-02 15:01:55 +08:00
2026-04-19 01:21:13 +08:00
2026-04-27 21:11:52 +08:00
2026-04-28 12:15:59 +08:00
2026-04-29 22:37:20 +08:00
2026-04-28 19:42:05 +08:00
2026-04-27 21:28:23 +08:00
2026-05-02 15:01:55 +08:00
2026-04-25 01:42:40 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-05-02 13:09:34 +08:00
2026-04-29 22:48:24 +08:00
2026-04-29 22:37:20 +08:00
2026-04-30 10:24:15 +08:00
2026-04-29 23:10:27 +08:00
2026-05-02 13:04:18 +08:00
2026-05-02 14:34:30 +08:00
2026-04-19 01:21:13 +08:00
2026-04-20 06:09:33 +08:00
2026-04-19 01:21:13 +08:00
2026-04-22 01:12:23 +08:00
2026-05-02 23:52:04 +08:00
2026-05-02 12:00:34 +08:00
2026-04-27 21:28:23 +08:00
2026-05-02 15:59:54 +08:00
2026-04-29 22:48:24 +08:00
2026-05-02 12:01:04 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-27 20:34:15 +08:00
2026-04-19 01:21:13 +08:00
2026-05-01 14:20:09 +08:00