fix: bulles plus petites + viewport auto-fit avec padding 18%
- Backend: radius = log1p(ip_count)*2.2 au lieu de sqrt*2 (max 30px vs 80px) ex: 60K IPs → 24px, 1K IPs → 15px, 100 IPs → 10px - Frontend: zoom initial -0.5 (vue dézoomée par défaut) - Fit viewport basé sur dimensions réelles canvas - panneaux latéraux - Padding 18% autour de l'étendue des données pour éviter le débord Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@ -199,7 +199,7 @@ def _run_clustering_job(k: int, hours: int) -> None:
|
||||
for i, name in enumerate(FEATURE_NAMES)
|
||||
]
|
||||
|
||||
radius = max(12, min(80, int(math.sqrt(ip_count) * 2)))
|
||||
radius = max(8, min(30, int(math.log1p(ip_count) * 2.2)))
|
||||
|
||||
sample_rows = sorted(cluster_rows[j], key=lambda r: float(r.get("hits") or 0), reverse=True)[:8]
|
||||
sample_ips = [r["ip"] for r in sample_rows]
|
||||
|
||||
Reference in New Issue
Block a user