chart.dot-plot-reveal

离散点图揭示

Dot Plot Reveal

仅本次打开有效
范围
效果
复杂度
进阶
建议时长
3.4s
画幅
16:9 · 9:16 · 1:1
01
Live preview

真实渲染预览

实机渲染 · HyperFrames
02
Purpose

这个动效用来做什么

一组离散观测点依次落入坐标图,并以强调环聚焦一个样本。

A set of discrete observations lands into a coordinate plot, then an emphasis ring focuses one sample.

图表
解释强调
数据叙事演示文稿教育
03
Inputs

可替换参数

series必填 · number-list

Ordered discrete observation values placed across the plot.

默认值
[26,58,42,74,63,88]
label必填 · string

Chart headline.

默认值
Sample signal
emphasis_index可选 · integer

Zero-based discrete observation to emphasize after all points land.

默认值
5
04
Motion timeline

归一化动作时间线

所有事件都使用 0 到 1 的归一化进度:0 是镜头开始,1 是镜头结束;事件可以重叠,适配器再把相同比例映射到秒或帧。

chart.fadeopacity.fade
0.06–0.24
points.revealcollection.reveal
0.18–0.66
points.staggercollection.stagger
0.18–0.66
emphasis.settletransform.scale
0.64–0.82
chart.holdstate.hold
0.84–1.00
05
Copy to Agent

复制执行上下文

三个版本共享同一份可机器校验核心;引擎标签只追加已验证 Adapter 路由、能力与实现纪律。

<!-- motion-registry-context:{"format":"1.0.0","recipe_id":"chart.dot-plot-reveal","recipe_version":"0.2.0","recipe_source":"recipes/chart/dot-plot-reveal/recipe.yaml"} -->
# Motion Registry Context

<!-- motion-registry-section:recipe-identity:start -->
## Recipe identity
- Recipe ID: chart.dot-plot-reveal
- Schema version: 0.2.0
- Recipe source: recipes/chart/dot-plot-reveal/recipe.yaml
<!-- motion-registry-section:recipe-identity:end -->

<!-- motion-registry-section:motion-intent:start -->
## Motion intent and scope
- Purpose (zh): 一组离散观测点依次落入坐标图,并以强调环聚焦一个样本。
- Purpose (en): A set of discrete observations lands into a coordinate plot, then an emphasis ring focuses one sample.
- Scope: effect
- Complexity: intermediate
- Subjects: chart
- Intents: explain, emphasize
- Use cases: data-story, presentation, education
- Recipe capabilities: discrete-observations, unconnected-marks, point-emphasis
<!-- motion-registry-section:motion-intent:end -->

<!-- motion-registry-section:inputs:start -->
## Inputs
- series: number-list (required; default=[26,58,42,74,63,88]) — Ordered discrete observation values placed across the plot.
- label: string (required; default=Sample signal) — Chart headline.
- emphasis_index: integer (optional; default=5) — Zero-based discrete observation to emphasize after all points land.
<!-- motion-registry-section:inputs:end -->

<!-- motion-registry-section:normalized-timeline:start -->
## Normalized motion timeline (0 to 1)
- 0.06–0.24 · chart.fade · opacity.fade → chart · parameters={"from":0,"to":1}
- 0.18–0.66 · points.reveal · collection.reveal → points · parameters={"order":"source","opacity_from":0,"opacity_to":1}
- 0.18–0.66 · points.stagger · collection.stagger → points · parameters={"order":"source","fraction":0.12}
- 0.64–0.82 · emphasis.settle · transform.scale → emphasis · parameters={"from":0,"to":1}
- 0.84–1.00 · chart.hold · state.hold → chart · parameters={}
<!-- motion-registry-section:normalized-timeline:end -->

<!-- motion-registry-section:output-envelope:start -->
## Output envelope
- Aspect ratios: 16:9, 9:16, 1:1
- Duration: min 2.4s; preferred 3.4s; max 5s
<!-- motion-registry-section:output-envelope:end -->

<!-- motion-registry-section:acceptance:start -->
## Acceptance constraints
- discrete-observations: Every input value is represented by one unconnected point within the plot bounds.
- no-implied-line: No path or filled contour connects adjacent observations.
- point-emphasis: The selected observation receives a readable emphasis ring only after all points have landed.
- stable-hold: The final point plot, emphasis ring, and labels remain still and readable during the hold.
<!-- motion-registry-section:acceptance:end -->

<!-- motion-registry-section:handoff-invariants:start -->
## Handoff invariants
- Preserve the subject, input meaning, event order, overlaps, final state, and approximate normalized timing.
- Keep the implementation deterministic and retain a readable, stable final hold.
- Treat the Recipe document as the source of truth; do not infer engine APIs in this shared core.
<!-- motion-registry-section:handoff-invariants:end -->
06
Engine implementations

双引擎实现

gsap-timeline

HyperFrames

已验证
Composition
dot-plot-reveal
入口文件
index.html
确定性
  • lint通过
  • validate通过
  • inspect通过
  • render通过
frame-based

Remotion

已验证
Composition
DotPlotReveal
入口文件
DotPlotReveal.tsx
确定性
  • typecheck通过
  • build通过
  • render通过
07
Source, reference & rights

来源与使用边界

再分发状态
original
来源说明
Self-authored G4 discrete-observation dot-plot design.
Recipe 文件
recipes/chart/dot-plot-reveal/recipe.yaml

参考

无外部参考;该 Recipe 与测试素材为项目原创。

08
Verification

验收标准

01
discrete-observations

Every input value is represented by one unconnected point within the plot bounds.

02
no-implied-line

No path or filled contour connects adjacent observations.

03
point-emphasis

The selected observation receives a readable emphasis ring only after all points have landed.

04
stable-hold

The final point plot, emphasis ring, and labels remain still and readable during the hold.

2 个实现已通过真实渲染理解验证模型