From f98a9255a50a1650d2b73230e9ff2935249d69cf Mon Sep 17 00:00:00 2001 From: Sakurasan <26715255+Sakurasan@users.noreply.github.com> Date: Tue, 11 Aug 2026 01:07:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=82=A1=E7=A5=A8=E7=90=83=E6=8C=89?= =?UTF-8?q?=E6=B6=A8=E5=B9=85=E7=BB=9D=E5=AF=B9=E5=80=BC=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 半径 = 覆盖数基础 + 涨幅绝对值增量(|f3|/10*4, 封顶20), 涨得猛/跌得深球更大。同覆盖下 0%vs10% 球径差约4px。 Co-Authored-By: Claude --- src/routes/hot-map.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/routes/hot-map.tsx b/src/routes/hot-map.tsx index 303ae5c..c6dcabe 100644 --- a/src/routes/hot-map.tsx +++ b/src/routes/hot-map.tsx @@ -730,7 +730,8 @@ function HotMapGraph({ graph }: { graph: ThemeGraph }) { f62: s.f62, f100: s.f100, themeCodes: s.themeCodes, - radius: Math.min(18, 4 + s.coverCount * 1.3), + // 基础半径来自覆盖数,涨幅绝对值作增量:涨得猛/跌得深球更大 + radius: Math.min(20, 3 + s.coverCount * 1.2 + (Math.abs(s.f3 ?? 0) / 10) * 4), })); // 题材涨幅绝对值作为球大小的归一化基准(兜底 ≥1 防除零) const maxAbsBf3 = Math.max(1, ...graph.themes.map((t) => Math.abs(t.bf3 ?? 0)));