Turning a dataset into an animated chart video: pick the chart by the claim it must prove, keep every frame's numbers true to the source data, time annotations to data events, and hold axis and scale choices that do not mislead. Ships a CSV renderer and a frame verifier that recomputes every frame from the source CSV. Use when asked to animate a chart, make a data video, build a bar chart race, or turn a time series into a video.
./install.sh data-animation-videoname: "data_animation_video" description: "Turning a dataset into an animated chart video: pick the chart by the claim it must prove, keep every frame's numbers true to the source data, time annotations to data events, and hold axis and scale choices that do not mislead. Ships a CSV renderer and a frame verifier that recomputes every frame from the source CSV. Use when asked to animate a chart, make a data video, build a bar chart race, or turn a time series into a video."
Turn a real dataset into a chart video a viewer can trust frame by frame. The difference from a template pack is the accuracy pass: the renderer records the exact value drawn in every frame in a manifest, and a verifier recomputes every frame from the source CSV before the video ships. A video that cannot pass the check does not ship.
Scope boundary: for a short looping GIF built from a handful of hand-picked numbers, use the animated-infographic skill instead. This skill is for dataset-driven video, where rows number in the dozens or hundreds and the numbers come from a file, not from memory.
references/chart-choice.md. The ranking behind the choices is Cleveland and McGill's: position and length are read more accurately than angle and area, so the headline number rides on position or length, never on pie slices or bubble sizes.references/scale-integrity.md for the lie factor, the log scale and dual axis rules, and why mid-animation rescaling fails viewers (Heer and Robertson, 2007: rescaling raised change-estimation error, common scales did better).references/annotation-timing.md. Hold the first frame about 1 second, the last at least 1.5 seconds. Every annotation names a real data event (peak, crossover, threshold crossing) and appears when that event happens, then stays at least 1 second. Data time advances linearly: no easing on the mapping from video time to data time.python3 scripts/animate_csv.py data.csv --chart line --title "..." --source "Source: ..." --annotate "10:North moves ahead" --out out/video. It writes out/video.mp4 (H.264, yuv420p, 1280x720, 30 fps) and out/video.manifest.json with the data position and values drawn in every frame. Other stacks (matplotlib, D3, Flourish) are covered in references/tooling-notes.md, and each must produce an equivalent manifest.python3 scripts/verify_frames.py data.csv out/video.manifest.json. It checks that every frame's values match the declared interpolation of the CSV within 0.5 percent, that every source row appears as an exact frame at least once, that bar baselines sit at zero, and that annotations sit inside the data range and hold long enough. Fix fails by fixing the data, the plan, or the renderer. Never edit the manifest to make it pass.assets/sample-data.csv is invented test data, labelled as such in the file. It exists to test the pipeline. Never present it as real figures.publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
No ratings yet — be the first to rate it.