← Back to all sparks
F

factoextra

ANALYTICS
Velocity3.8

Extract and Visualize the Results of Multivariate Data Analyses

factoextra woke from six years of silence and stopped being a FactoMineR front-end

dimension reductionrggplot2clusteringtidymodelsvisualization
Current state
factoextra supplies the fviz_* grammar most R users reach for when plotting PCA, correspondence analysis and clustering results. It sat effectively dormant from 2020 to early 2026, then shipped three releases in five months that resolved a six-year issue backlog, decoupled it from its original backends, and taught it to plot UMAP and t-SNE embeddings. The current version also reaches into tidymodels, plotting a PCA fitted inside a recipe or workflow directly.
Where it's heading
The direction is from wrapper to visualization layer. as_factoextra_pca() turned the fviz_pca_* family into something that consumes coordinates from anywhere — cmdscale, vegan, a custom decomposition, a recipes step — rather than only FactoMineR objects, and the vignette on extending factoextra to new backends says the maintainer intends others to plug in. The embedding support shows the same care: no scree plot, no correlation circle, and a convex hull instead of a confidence ellipse, because an embedding does not preserve the metric an ellipse would assume.
Prediction
With recipes and workflows already wired in, the next likely step is covering more tidymodels dimension-reduction steps (step_umap, step_ica, step_pls) through the same as_factoextra_pca() entry point rather than adding new fviz_* functions per method.

Recent moves

  1. 22d ago

    factoextra 2.2.0 adds UMAP and t-SNE plotting, plus tidymodels recipes

    ⚡ SPARK

    The release where factoextra stops being a linear-factor tool. fviz_umap() and fviz_tsne() bring nonlinear embeddings into the same grouping-and-ellipse grammar, and the extension point opened in 2.1.0 grows recipe and workflow methods.

    View source ↗
  2. 1mo ago

    factoextra 2.1.0 decouples its plots from any specific backend

    ⚡ SPARK

    The hinge of the revival: as_factoextra_pca() builds an fviz-ready object from pre-computed coordinates, so the plotting family no longer requires a FactoMineR or prcomp object behind it. Everything 2.2.0 does with embeddings and tidymodels rides on this.

    View source ↗
  3. 5mo ago

    factoextra 2.0.0 ends a six-year dormancy with breaking modernization

    Debt payoff rather than new direction: 30+ open issues closed, aes_string() replaced with the .data pronoun, tidyr and reshape2 dropped, and hard floors set at R 4.1.0, ggplot2 3.5.2 and FactoMineR 2.13. Worth reading the Hopkins note — get_clust_tendency() now uses the corrected Wright (2022) formula, so cluster-tendency values will not match anything computed with an earlier version.

    View source ↗
  4. 6y ago

    factoextra 1.0.7

    A single stringsAsFactors argument added ahead of R 4.0.0. The last release before the package went quiet for six years.

    View source ↗
  5. 6y ago

    factoextra 1.0.6

    Late-era maintenance from the original run: argument validation in fviz_nbclust(), corrected cluster ordering in fviz_mclust_bic(), outlier styling controls in fviz_cluster(), and a first correction to the Hopkins statistic that 2.0.0 would revisit.

    View source ↗
  6. 8y ago

    factoextra 1.0.5

    Coverage-widening from the package's first life: fviz_dend() learns diana objects, fviz_cluster() learns HCPC results, and fill.ind/fill.var plus geom controls land. Correlation circles also stop rendering as ellipses — the kind of geometric honesty the 2026 embedding work carries forward.

    View source ↗