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 仅在有单位值时显示。