半径按「相对本图最高度数」映射:孤立 ~6 → 本图枢纽 ~48。 * 用相对度数(而非绝对)→ 无论稀疏图还是稠密图(度数都很高)都保持大小对比。
(deg: number, maxDeg: number)
| 206 | /** 半径按「相对本图最高度数」映射:孤立 ~6 → 本图枢纽 ~48。 |
| 207 | * 用相对度数(而非绝对)→ 无论稀疏图还是稠密图(度数都很高)都保持大小对比。 */ |
| 208 | function nodeRadius(deg: number, maxDeg: number): number { |
| 209 | const norm = maxDeg > 0 ? deg / maxDeg : 0; |
| 210 | return 6 + Math.pow(norm, 0.6) * 42; |
| 211 | } |
| 212 | |
| 213 | function shortLabel(n: ApiNode): string { |
| 214 | if (n.title && n.title.length <= 30) return n.title; |