ONEFOOTBALL · xG layer / implementation-ready product requirements
1
League · Players
联赛球员 xG 排名,插入 Top Scorer 之后
展示位置
- League Stats → Players。
展示内容
- 展示联赛球员的 xG 排名卡,保留名次、头像/球队和右侧数值层级。
取数
- 取球员 xG、球员身份、球队和排名;范围为当前联赛筛选条件。
计算
- 按 xG 降序排名;同值按既有排名稳定规则处理。
交互
- 点击切换器进入页面;排名卡沿用原有联赛统计视觉。
边界处理
- 缺失 xG 的球员不进入排序;不足 4 人时按实际条数展示;若当前范围内所有球员均缺失 xG,则隐藏整个 xG 排名项。
2
League · Teams
联赛球队 xG 排名,插入 Goals Scored 之后
展示位置
- League Stats → Teams。
展示内容
- 展示球队 xG 排名卡,球队徽章、名称、名次和右侧数值与原统计卡一致。
取数
- 取球队 xG、球队徽章、球队名称和联赛范围。
计算
- 按球队 xG 降序;数值保留两位小数。
交互
- 切换页面后更新排名卡与右侧数据说明。
边界处理
- 缺失 xG 的球队不展示且不进入排序;若当前范围内所有球队均缺失 xG,则隐藏整个 xG 排名项;徽章缺失时使用球队占位。
3
Player · General
球员概览 Statistics → Form
展示位置
- Player General → Statistics → Form。
展示内容
- 在原有统计网格中增加 xG、xG per 90、Goals − xG,保留原有出场、进球、助攻、卡牌、评分。
取数
- 取当前球员 goals、xG、minutes/90、appearances、assists、cards、rating。
计算
- xG per 90 = xG ÷ 出场分钟 × 90;Goals − xG = goals − xG。
交互
- 点击 xG 值查看定义;切换器同步右侧字段。
边界处理
- 当前球员缺失 xG 时,不展示 xG、xG per 90 和 Goals − xG;出场分钟为 0 时不展示 xG per 90。
4
Player · Stats
球员关键数据与进攻统计
展示位置
- Player Stats → Key Stats + Attacking。
展示内容
- 在 Key Stats/Attacking 节奏中增加 Expected Goals,保持统计项间距和原有信息层级。
取数
- 取当前球员 xG、goals、minutes、rating、played、assists、substitute。
计算
- 沿用球员概览的 xG per 90 与 Goals − xG 规则。
交互
- 切换页面后保留原图统计,并显示新增 xG 项。
边界处理
- 当前球员缺失 xG 时隐藏 Expected Goals 数据项;小屏宽度不足时允许模块增高,且不遮盖原有数据条。
5
Team · General
球队概览 Key players 横向指标卡
展示位置
- Team General → Key players horizontal carousel。
展示内容
- 提供 Ratings、Top Scorer、Assists、Expected Goals (xG) 四个可横滑指标卡;每卡含主球员、值和比较行。
取数
- 取球队关键球员头像、球队徽章、rating、goals、assists、xG。
计算
- 比较行按当前指标值排序;xG 以两位小数展示。
交互
- 横向滑动、scroll snap;点击 xG 标题/值查看定义。
边界处理
- 缺失 xG 的球员不在 Expected Goals 卡中展示;若所有关键球员均缺失 xG,则隐藏整个 Expected Goals 卡;头像或徽章失败时使用占位。
6
Team · Stats
球队摘要与 Attacking 统计
展示位置
- Team Stats → summary + Attacking。
展示内容
- 在 summary/Attacking 原有行中插入 Expected Goals (xG),保留原统计行、球队颜色和顺序。
取数
- 取球队总 xG、比赛数、goals。
计算
- xG per match = 总 xG ÷ 已完成比赛数;Goals − xG = goals − xG。
交互
- 切换器更新球队范围;xG 行与原图统计自然衔接。
边界处理
- 当前球队缺失 xG 时,不展示 Expected Goals、xG per match 和 Goals − xG;比赛数为 0 时不展示 xG per match。
7
Team · Top Players
球队 Top Players xG 排名,插入 Top Scorer 之后
展示位置
- Team Top Players → after Top Scorer。
展示内容
- 复用球队 Top Players 排名卡,增加 xG 排名区;保留头像、球队、名次和右值。
取数
- 取球队范围内球员 xG、身份、头像和球队徽章。
计算
- 按 xG 降序;展示两位小数。
交互
- 切换后右侧说明与左侧排名同步。
边界处理
- 缺失 xG 的球员不进入排序;不足 4 人时按实际人数展示;若球队内所有球员均缺失 xG,则隐藏整个 xG 排名项。
8
Match · Stats
比赛统计,插入 Shots 之后、Big Chances Missed 之前
展示位置
- Match Stats → after Shots / before Big Chances Missed。
展示内容
- 展示 xG、xGOT、Big chances created、Distance covered 四行;双方值固定在左右两侧,条形图位于对应行下方。
取数
- 取比赛双方 xG、xGOT、大机会创造数、跑动距离和球队颜色。
计算
- 每行条形比例 = 单方值 ÷ 双方合计;距离单位 km;合计为 0 时两侧各 50%。
交互
- 切换比赛页;新增行随原统计自然增长;条形不覆盖 Shots、Passes 或 Tackles。
边界处理
- 任一球队缺失 xG 或 xGOT 时,不展示该球队对应的数据,且不绘制该项比较条;双方均缺失同一项数据时,隐藏整行;Distance covered 仅在有单位值时显示。