anivis (development version)
Fixed
-
plot()works on an aniframe with nothing to draw (#32) — one with no rows, or one whose positions are allNA. Both failed witharguments imply differing number of rows: 0, 2, preceded by a warning about theeachargument, neither of which pointed at the frame. The second case is the likelier one: a keypoint the tracker never found has no start or end to mark.trajectory_endpoints()returnedNULLwhen no group had a valid point —do.call(rbind, list())— andnrow(NULL)then reachedrep(each = ), which used aNULLlength and produced two rows against a column of none.
anivis 0.2.1 (2026-08-28)
Changed
The minimum
anicoreis 0.8.0, which is the first version published under that name. The constraint read>= 0.6.0— a version ofanicorethat never existed, carried over unchanged fromaniframewhen the dependency was renamed.The core data structures come from
anicore, which is what theaniframepackage was renamed to in its 0.8.0 (animovement/anicore#84). Theaniframeclass keeps its name; only the package providing it changed, soanicorereplacesaniframeinImportsand in everyaniframe::call.
Added
- Every exported function now has a runnable example (#23).
Fixed
AGENTS.mdis kept out of the built package, whichR CMD checkreported as a non-standard top-level file.-
The confidence plot puts the finest-grained identity on its axis, whatever that column is called (#21). It previously looked for a column named
keypointand, failing that, fell back to the coarsest varying grouping column — the opposite of what the code’s own comment described. On a frame declaring identity as, say,animalandbodypart, the axis and the facets came out swapped, rendering without error but transposed. Frames usingkeypointare unaffected.The identity columns are read from the
variables_whatdeclaration that anicheck carries through to the check object. Check objects from an earlier anicheck carry no declaration; for those,keypointremains the best guess available.
anivis 0.2.0 (2026-06-29)
First substantial release of the plotting layer, built on aniframe (>= 0.6.0).
Added
-
plot_trajectory()draws x/y paths with an adaptive colour scheme — hue perwhat, shade perwhen— a time legend, gap bridging, and start and end markers. -
plot_timeseries()plots any per-frame numeric variable against time, inline or faceted. -
plot_events()andplot.anievent(), withgeom_event_state()andgeom_event_point(), draw state and point events — ethograms and spike rasters — on an hms time axis. - Presentation methods for the
check_*()objects produced by anicheck, dispatched via theanivis_check_*classes and staged by a sharedas_plot_data()generic:plot.anivis_check_na_timing()for the distribution of missing values over time,plot.anivis_check_na_gapsize()for gap-size occurrence and totals, andplot.anivis_check_confidence()for per-keypoint tracking confidence as clipped horizontal violins. -
theme_animovement(), in light and dark, andtheme_imputets()for the check plots. - The Okabe-Ito and Material colour palettes with their
scale_*()functions, andplots(), a patchwork wrapper.