← Back to home
Comparison · Infra & APIs

ggpointless vs tf

A side-by-side editorial comparison of ggpointless and tf — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:r-packages

ggpointless vs tf: at a glance

Featureggpointlesstf
SectorInfra & APIsInfra & APIs
Velocity score0.00.0
Sparks · 30d00
Top themesggplot2-extensions, data-visualization, pictogram-charts, alpha-gradientsfunctional-data-analysis, vctrs, multivariate, r-packages
Last editorial update1h ago1h ago
WebsiteVisit →Visit →

What is ggpointless?

ggpointless keeps adding the ggplot2 layers nobody else bothered to write.

ggpointless is a small ggplot2 extension collecting geoms that sit outside the standard set — Lexis diagrams, Chaikin-smoothed paths, hanging chains, Fourier reconstructions — and it has grown steadily rather than changed shape. The May release is the largest yet: isotype and pictogram bar charts as stacks of discrete unit cells, a family of geoms that fade paths, segments, curves and reference lines along their length, and geom_gridline(), which draws grid lines as a layer on top of the data rather than beneath it.

Read the full ggpointless trajectory →

What is tf?

tf gave functional data a second dimension: curves whose values are vectors.

tf supplies the vector classes underneath the tidyfun stack — tfd for raw functional observations, tfb for basis-represented ones, both built on vctrs so curves sit in a data frame column and behave like any other vector. Until July that codomain was scalar. The 0.5.0 release adds tfd_mv and tfb_mv, classes for functions whose values are vectors in R^d, and rebuilds the analysis verbs to match.

Read the full tf trajectory →

ggpointless vs tf: editorial side-by-side

G
ggpointless
INFRA · APIS
0.0

ggpointless keeps adding the ggplot2 layers nobody else bothered to write.

◆ Current state

ggpointless is a small ggplot2 extension collecting geoms that sit outside the standard set — Lexis diagrams, Chaikin-smoothed paths, hanging chains, Fourier reconstructions — and it has grown steadily rather than changed shape. The May release is the largest yet: isotype and pictogram bar charts as stacks of discrete unit cells, a family of geoms that fade paths, segments, curves and reference lines along their length, and geom_gridline(), which draws grid lines as a layer on top of the data rather than beneath it.

◆ Where it's heading

Two patterns are visible. Ideas get generalized rather than left as one-offs: geom_area_fade() in the previous release established alpha gradients via grid::linearGradient(), and the recent release spreads that treatment across paths, lines, steps, segments, curves and the three reference-line geoms, each with the same fade_direction and alpha_fade_to arguments. And each new geom is expected to survive real plots — the unit charts work under coord_equal, coord_polar, coord_radial, coord_flip and faceting, and geom_gridline reads positions from trained scales and inherits styling from the theme's panel grid. The package also tracks ggplot2 closely, requiring 4.0.0 and using make_constructor() and gg_par() internally, and it dropped its bundled datasets outright rather than maintain stale copies.

◆ Prediction

The fade treatment now covers most path-like geoms but not the area and ribbon family beyond geom_area_fade(), which is where the pattern has room left to run. The unit-cell charts arrive with a label helper and no fill or grouping variants, so those are the plausible next additions.

T
tf
INFRA · APIS
0.0

tf gave functional data a second dimension: curves whose values are vectors.

◆ Current state

tf supplies the vector classes underneath the tidyfun stack — tfd for raw functional observations, tfb for basis-represented ones, both built on vctrs so curves sit in a data frame column and behave like any other vector. Until July that codomain was scalar. The 0.5.0 release adds tfd_mv and tfb_mv, classes for functions whose values are vectors in R^d, and rebuilds the analysis verbs to match.

◆ Where it's heading

The package is widening what a functional observation can be, then porting the toolkit onto it. Registration arrived first in 0.4.0 for univariate curves and immediately gained an srvf_mv method for aligning components jointly, and tfb_mfpc() ports principal component analysis to the multivariate case with a single set of scores shared across components. Alongside that runs steady dependency shedding — mvtnorm and pracma both replaced by inlined samplers that reproduce prior draws bit-for-bit, glue dropped for cli in the previous release — and an unusually long tail of NA-handling and edge-case fixes, several caught in pre-release review of the new classes.

◆ Prediction

The new classes ship with FPCA, registration and shape alignment but the release notes describe tidyfun::tf_unnest() as the consumer of one new export, so the visible next step is the rest of the tidyfun stack catching up to vector-valued columns. Expect follow-up patches on the vctrs casting paths, which is where most of this release's late fixes clustered.

Alternatives to ggpointless and tf

Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either ggpointless or tf.

See all ggpointless alternatives → · See all tf alternatives →

Recent activity from ggpointless and tf

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 1mo agotfVector-valued functional data becomes a first-class type
  2. 3mo agoggpointlessPictogram unit charts, gridline layers and a family of fading geoms
  3. 5mo agotfCurve registration, five depth measures and sub-domain splitting
  4. 5mo agoggpointlessFourier and arch geoms, area fades and glowing points
  5. 2y agotfFix: tf_crosscov normalization
  6. 2y agoggpointlessgeom_catenary() draws a hanging chain
  7. 3y agoggpointlessgeom_chaikin() adds corner-cutting path smoothing
  8. 4y agoggpointlessgeom_lexis() and the female_leaders dataset

Frequently asked questions

What is the difference between ggpointless and tf?

Both compete on the same themes — r-packages — within Infra & APIs. ggpointless and tf are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is ggpointless better than tf?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. ggpointless and tf are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.

What are the best alternatives to ggpointless?

Top ggpointless alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "ggpointless alternatives" section above for the current picks, or visit /alternatives/ggpointless for the full list with editorial commentary on each.

What are the best alternatives to tf?

Top tf alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "tf alternatives" section above for the current picks, or visit /alternatives/tf for the full list with editorial commentary on each.